【问题标题】:SSL certificates for HAProxy with tomcat - 502 Bad Gateway带有 tomcat 的 HAProxy 的 SSL 证书 - 502 Bad Gateway
【发布时间】:2014-01-18 10:15:57
【问题描述】:

我正在尝试在 ssl 模式下使用不同 VM 上的 2 个 tomcat 实例进行 haproxy 工作(请参阅我之前的问题:HAProxy load balancing with tomcat SSL)。 目前,我设法让 haproxy 使用以下配置:

defaults
    log 127.0.0.1 local0
    option tcplog

frontend ft_test
    mode http
    bind 0.0.0.0:8443 ssl crt haproxy.pem
    timeout client 120000ms
    default_backend bk

backend bk
    mode http
    cookie JSESSIONID prefix
    server s1 vm1:80 cookie JSESSIONID_SERVER_1 check maxconn 32    
    server s2 vm2:80 cookie JSESSIONID_SERVER_2 check maxconn 32
    timeout connect 5000ms
    timeout server 120000ms

haproxy.pem 是我从这里复制的文件(用于测试目的):http://blog.exceliance.fr/2012/09/04/howto-ssl-native-in-haproxy/

当我在 VM 上将端口从 80 更改为 8443,并尝试访问 https://haproxy.vm.ip:8443(与我对 80 端口所做的相同)时,我的浏览器中出现:502 Bad Gateway 错误。 我猜这与 ssl 证书有关,但我不确定如何解决(这些问题对我来说是新问题,我找不到太多信息)。

每个 tomcat 虚拟机的 server.xml(它们是相同的):

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
            maxThreads="150" scheme="https" secure="true"
            clientAuth="false" sslProtocol="TLS" 
            keystoreFile="${catalina.home}/conf/keystore"
            keystorePass="password" />

我需要在此处使用与 haproxy 配置中相同的证书吗?我试过了,但它似乎不起作用,我也没有找到带有密钥库文件的 haproxy 示例。

所以,帮忙?想法?谢谢! :)

【问题讨论】:

    标签: ssl tomcat7 ssl-certificate haproxy


    【解决方案1】:

    有同样的问题 -

    在没有收到间歇性 502 和 503 的情况下,我永远无法让 1.5 正确且一致地处理 SSL 流量。

    我们最终使用了 stunnel - http://www.stunnel.org/

    设置和配置非常简单。 HAproxy 仅在端口 80 上响应并通过 443 转发,以便内部流量保持加密。

    下面是一个示例 stunnel.conf 文件:

    sslVersion = all
    options = NO_SSLv2
    cert=/etc/stunnel/wildcard.pem
    setuid = root
    setgid = root
    pid = /var/run/stunnel.pid
    socket = l:TCP_NODELAY=1
    socket = r:TCP_NODELAY=1
    output = /var/log/stunnel.log
    
    [service1]
        accept = 10.0.0.10:443
        connect = 10.0.0.10:80
        TIMEOUTclose = 0
    
    [service2]
        accept = 10.0.0.11:443
        connect = 10.0.0.11:80
        TIMEOUTclose = 0
    

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 2022-12-01
      • 2018-06-09
      • 2019-08-14
      • 1970-01-01
      • 2011-01-29
      • 2018-09-12
      • 2023-03-04
      • 2010-09-15
      相关资源
      最近更新 更多