嘿,我似乎遇到了 HAProxy 问题,但似乎找不到问题的根源。
设置:
1 个负载均衡器
3 个服务器(Splunk 搜索头)
负载均衡器和 3 台服务器都只能通过 https 访问,并且都具有不同的 SSL 证书。我尝试对从客户端到负载均衡器的流量进行加密,然后对从负载均衡器到服务器的流量进行加密。将来这些会话也需要保持粘性。仅供参考,我已将下面配置中的 IP 更改为私有 IP。
我可以从负载均衡器 ping 服务器,并从浏览器正确访问它们(不通过负载均衡器)。负载均衡器上的 SSL 证书正在运行,但我没有重定向到其中一个服务器,而是收到 503 错误:“503 服务不可用 - 没有可用的服务器来处理此请求。”
以下是我的配置文件。如果能提供任何帮助我将不胜感激,因为这是我第一次使用 HAProxy。
global
ssl-server-verify none
frontend https443
mode http
bind *:443 ssl cert /ect/haproxy/cert/haproxy.pem
timeout client 60s
reqadd X-Forwarded-Proto:\ https
default_backend allservers
backend allservers
mode http
balance roundrobin
timeout connect 10s
timeout server 100s
server server1 192.168.23.1:8000 check ssl
server server2 192.168.23.2:8000 check ssl
server server3 192.168.23.3:8000 check ssl
答案1
检查后端上的相应 SSL 证书是否涵盖 192.168.23.x。如果没有,则 HAProxy 认为其证书无效。
解决方案应该是 (a) 更新 HAProxy 配置,以便后端服务器由每个后端节点上现有 SSL 覆盖的 DN/IP 引用;或 (b) 更新后端节点上的 SSL 以覆盖私有 IP;或 (c) 禁用 SSL 证书验证。