我有一个使用硬件负载均衡器的工作设置,该负载均衡器以所有请求到 http://example.com/login/ 的方式控制重定向* 被重定向(使用 HTTP 302)到 https://example.com/login/ * 并且所有不是针对/login 的请求都从 HTTPS 反向重定向到 HTTP。
这使我可以在 SSL 中包装登录功能和用户/密码交换,但可以避免因加密而减慢连接速度,还可以解决某些浏览器中嵌入内容混合内容警告的一些问题。
然而,负载平衡已停产,我正在寻找替代解决方案,最好是在软件中。
我认为 HAproxy 将能够作为我的负载平衡解决方案,但我只能找到配置示例和文档,用于将所有内容从 HTTP 重定向到 HTTPS,反之亦然。
是否可以使用 HAproxy 执行我提议的操作,还是我应该寻找不同的解决方案?
我意识到我需要使用 HAproxy 的开发版本来支持 SSL。
最佳答案
我建议您不要在生产环境中使用 DEV 版本。
为了回答您的问题,我假设您将使用 HAProxy 1.4 版:
Is it possible to do what I am proposing using HAProxy or should I look for a different solution?
是的。这是可能的,但您必须使用其他软件来处理 HTTPS
流量。 Stunnel在这方面被证明是好的。所以我会说设置将是:
HAProxy 1.4
# Redirect http://../login to https://../login frontend HTTPSRedirect bind 1.2.3.4:80 default_backend AppServers redirect prefix https://www.domain.com/login if { path_beg -i /login } # Handler for requests coming from Stunnel4. frontend HTTPReceiver bind 5.6.7.8:80 default_backend AppServers
Stunnel4
[https] accept=443 connect=5.6.7.8:80 (HAProxy IP)
关于redirect - SSL 使用 HAproxy 卸载/重定向特定 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19632079/