防止HAProxy将HTTPredirect到HTTPS

我正在使用HAproxy在Apache服务器之间加载平衡请求。 我试图禁用HTTPS的特殊用例(服务的kickstart文件),我使用端口8000来做到这一点。 我有一个HAProxyconfiguration,看起来大致像这样(一些configuration已被省略):

frontend provision_frontend_b bind 10.1.1.1:8000 mode http default_backend provision_backendb backend provision_backendb mode http server server1 127.0.0.1:8000 weight 1 server server2 10.1.1.2:8000 weight 1 

我希望HAProxy将在端口8000上对外部IP所做的请求redirect到端口8000上的环回地址,在那里我正在监听Apache。 Apache被configuration为通过HTTP提供静态文件。

奇怪的是,当我从我的浏览器使用前端的DNS名称: http://myhost.mydomain:8000 ,我被redirect到HTTPS和SSL证书错误。 当我尝试与IP, http://10.1.1.1:8000 ,它的作品(并不redirect到HTTPS)。

为什么HAProxy会这样做? 它似乎不是Apache,因为我已经configurationHAProxyredirect到其他HTTP仅Apache服务器,并仍然收到此错误。

我在HAProxyconfiguration中看到的唯一的事情是configuration为redirect到SSL的另一个前端:

 frontend http_frontend bind :80 mode http redirect scheme https if !{ ssl_fc } 

但是,它正在听另一个端口。 我试图评论redirect,并没有解决这个问题。

不,它不是有益的。 Haproxy与您的httpsredirect无关。 看起来像myhost.mydomaincaching在您的网页浏览器内部307redirect。 这将始终以https模式发送您的stream量。 在浏览器中清除你的caching和cookie,它应该工作。 我不知道如果你能从服务器端做任何事情,我曾经遇到过这个问题,我试图强制redirect到httpscheme,但随后到了很多redirect错误出现了。