HAProxy 将 HTTPS 重定向到 HTTP

HAProxy 将 HTTPS 重定向到 HTTP

我使用 HAProxy 作为负载均衡器,我想重定向任何从 443 (HTTPS) 到 80 (HTTP) 的流量。我的网站根本不支持 HTTPS,我宁愿重定向用户,也不愿在浏览器中引起任何 SSL 警告。

我能找到的只是使用语法redirect location <to>,但据我所知,这需要我对主机名进行硬编码。负载平衡器接收各种主机名的连接,因此希望保持相对性。

答案1

这行不通。如果用户输入https://example.com进入他们的浏览器并连接到端口 443,然后它需要SSL 已存在。如果未正确设置 SSL,您甚至无法进行重定向。

换句话说:如果用户已经连接到 443,那么您就无法再避免使用正确的 SSL。

除了正确设置 SSL 之外,保持端口关闭可能是您能做的“最佳”事情。

答案2

是的,你可以,只需将重定向规则放在主机的 SSL 前端即可……如下所示

redirect scheme http if { hdr(Host) -i the.host.com } { ssl_fc }

相关内容