ssl - haproxy 无法使用 ssl 选项绑定(bind)套接字

标签 ssl haproxy

我正在尝试在 Ubuntu 3.2.0-91-generic 上将 haproxy 1.5 配置为 TLS 代理,以将普通 TCP 流量发送到在同一台机器上运行的非 TLS 服务器。本地非 TLS 服务器在端口 9501 上运行,我希望 haproxy 在端口 9500 上监听,解密该端口上传入的 TLS 连接并将未加密的 TCP 流量转发到端口 9501 上的服务器。我在 172.28 上执行所有这些操作.11.94,这是绑定(bind)到我的 eth0 接口(interface)的本地 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() not working 的警告有点奇怪,不过好像又回落到 poll() 了,应该没问题。但是我不明白为什么当我以 root 身份运行它时它不能绑定(bind)到端口 9500,就像我在这里所做的那样。任何帮助将不胜感激!

最佳答案

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

listen  rtt 172.28.11.94:9500

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

listen  rtt

现在好了。

关于ssl - haproxy 无法使用 ssl 选项绑定(bind)套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749475/

相关文章:

HAProxy 随机 HTTP 503 错误

HAProxy 动态配置

ubuntu - 如何防止 HAProxy 的多个实例?

java - 加密安装的应用程序和网络服务的方法

curl - 为什么 curl 无法使用自签名证书连接到 OpenDJ

angularjs - 运行 npm install 时无法验证第一个证书

amazon-ec2 - Haproxy负载均衡器,EC2,编写我自己的可用性脚本

ssl - 由于 Heroku 的空服务器响应,Cloudflare 返回 520

image - 在 https 上托管时,某些带有帖子的图片不会出现

ssl - HAPROXY : Proxy tunneling failed: SSL