Apache-2.2
防止 HAProxy 將 HTTP 重定向到 HTTPS
我正在使用 HAproxy 在 Apache 伺服器之間負載平衡請求。我正在嘗試為特殊案例(提供 kickstart 文件)禁用 HTTPS,並且我正在使用埠 8000 來執行此操作。我有一個 HAProxy 配置,大致如下(省略了一些配置):
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 發出的請求重定向到埠 8000 上的環回地址,在那裡我有 Apache 監聽。Apache 配置為通過 HTTP 提供靜態文件。
奇怪的是,當我使用前端的 DNS 名稱從瀏覽器訪問伺服器時:http://myhost.mydomain:8000,我被重定向到 HTTPS 和 SSL 證書錯誤。當我嘗試使用 IP http://10.1.1.1:8000時,它可以工作(並且不會重定向到 HTTPS)。
HAProxy 有什麼理由這樣做嗎?它似乎不是 Apache,因為我已將 HAProxy 配置為重定向到其他僅支持 HTTP 的 Apache 伺服器,但仍然收到此錯誤。
我在 HAProxy 配置中看到的唯一內容是另一個配置為重定向到 SSL 的前端:
frontend http_frontend bind :80 mode http redirect scheme https if !{ ssl_fc }
但是,它正在偵聽不同的埠。我試圖將重定向註釋掉,但沒有解決問題。
不,它不是 Haproxy。Haproxy 與您的 https 重定向無關。看起來myhost.mydomain已記憶體在您的網路瀏覽器中,用於內部 307 重定向。這將始終以 https 模式發送您的流量。清除瀏覽器中的記憶體和cookie,它應該可以工作。我不確定您是否可以從伺服器端做任何事情,我曾經遇到過這個問題,我嘗試強制重定向到 http 方案,但隨後出現了許多重定向錯誤。