redirect - SSL 使用 HAproxy 卸载/重定向特定 URL?

标签 redirect ssl load-balancing haproxy

我有一个使用硬件负载均衡器的工作设置,该负载均衡器以所有请求到 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/

相关文章:

asp.net-mvc - 如何定义希望未经授权的用户重定向到的登录页面

android - javax.net.ssl.SSLException : Not trusted server certificate on Galaxy Tab 7 only? 异常

android - 尝试将私钥导入 PKCS12 格式的 keystore ,但我得到了使用说明

node.js - WebSockets 基于 Cookie 的负载平衡?

java - Servlet 映射在本地工作,但在 App Engine 中的网络服务器上不工作

apache - 将旧子域重定向到新子域

amazon-web-services - 未创建 AWS 经典负载均衡器监听器,然后消失

mysql - NHibernate:读/写分离

php - MySQL 复制 - 我应该从客户端代码 (PHP) 处理负载平衡吗?

.htaccess - 定期更改htaccess重定向