【问题标题】:haproxy fails to bind sockets with ssl optionhaproxy 无法使用 ssl 选项绑定套接字
【发布时间】:2016-01-12 16:55:33
【问题描述】:

我正在尝试将 Ubuntu 3.2.0-91-generic 上的 haproxy 1.5 配置为 TLS 代理,用于传输到同一台机器上运行的非 TLS 服务器的纯 TCP 流量。本地非 TLS 服务器在端口 9501 上运行,我希望 haproxy 监听端口 9500,解密该端口上的传入 TLS 连接并将未加密的 TCP 流量转发到端口 9501 上的服务器。我在 172.28 上做这一切.11.94,这是绑定到我的 eth0 接口的本地 Intranet 地址。我的 haproxy 配置如下所示:

listen  rtt 172.28.11.94:9500
    mode tcp
    bind 172.28.11.94:9500 ssl crt /etc/haproxy/cert.pem
    option tcplog
    server rks 172.28.11.94:9501

haproxy 报告这是有效的:

dlobron@bos-lpjbb:/etc/haproxy$ sudo haproxy -f haproxy.cfg -V -c
Configuration file is valid

但是当我运行 haproxy 时,我得到一个错误:

dlobron@bos-lpjbb:/etc/haproxy$ sudo haproxy -f haproxy.cfg -V   
Available polling systems :
       poll : pref=200,  test result OK
       select : pref=150,  test result FAILED
Total: 2 (1 usable), will use poll.
Using poll() as the polling mechanism.
[ALERT] 011/114700 (6149) : Starting proxy rtt: cannot bind socket  [172.28.11.94:9500]

我验证了我在端口 9501 上的本地非 TLS 服务器没问题:

dlobron@bos-lpjbb:/etc/haproxy$ telnet 172.28.11.94 9501
Trying 172.28.11.94...
Connected to bos-lpjbb (172.28.11.94).
Escape character is '^]'.
203 WELCOME

关于 select() 不起作用的警告有点奇怪,但它似乎又回到了 poll(),这应该没问题。但是我无法弄清楚为什么当我以 root 身份运行它时它不能绑定到端口 9500,就像我在这里所做的那样。任何帮助将不胜感激!

【问题讨论】:

  • 我还应该注意到我用 openssl 测试了我的证书文件,它报告它有效且未过期:dlobron@bos-lpjbb:/etc/haproxy$ openssl x509 -in /etc/ haproxy/cert.pem -text 证书:等

标签: ssl haproxy


【解决方案1】:

HAProxy 邮件列表中非常有帮助的人指出了我的问题:我的服务器节的第一行是:

listen  rtt 172.28.11.94:9500

这告诉 HAProxy 绑定到 172.28.11.94:9500,然后我的配置文件中的“绑定”行告诉它第二次绑定到同一点 - 因此出现错误。我将这节的第一行改为:

listen  rtt

现在好了。

【讨论】:

    猜你喜欢
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多