带有haproxy ssl终止的Ejabberd

时间:2017-10-07 15:02:57

标签: ssl ejabberd haproxy

任何人都可以通过haproxy 1.7获得ejabberd + ssl终止成功吗?

frontend ejabberd   
bind *:4000 ssl crt /etc/haproxy/certs/my-domain.com.pem
mode tcp
timeout client  3h

option tcplog

option clitcpka

default_backend ejabberd

backend ejabberd
mode tcp

timeout server  60m 

option redispatch

option srvtcpka

option independent-streams

balance leastconn

default-server inter 5s rise 3 fall 3 on-marked-down shutdown-sessions

server ejabberd localhost:5222 check slowstart 120s

没有ssl crt它可以正常工作。我的客户端给了我一个No response received within reply timeout. Timeout was 5000ms (~5s). While waiting for establishing TLS.

我也在ejabberd conf上试过或不试过ttls

1 个答案:

答案 0 :(得分:1)

我能够准确配置,你需要:

  1. 在ejabberd中禁用tls ,因为HAProxy正在执行ssl卸载并且ejabberd托管在同一台机器中:

    • 评论certfile行
    • 评论starttls行
  2. 正确配置您的客户,我使用了pidgin,但您应该可以使用smack:

    • 正确配置地址和端口(此处为4000)
    • 确保您使用"旧式TLS"而不是STARTTLS,后者不能与HAProxy合作。
  3. 否则,如果您希望客户端使用STARTTLS配置,则必须配置HAProxy以代理XMPP加密流量(删除" ssl crt ..")

相关问题