我正在努力配置 HAProxy,以便它将终止 SSL,因此只有一个地方可以配置购买的 SSL 证书。但是,我更希望与后端服务器的连接也使用 SSL 加密。
我发现的一个建议是在后端服务器上创建自签名证书,然后在每个服务器行上设置“验证无”。... 所以从浏览器到 HAProxy 的连接将使用官方购买的 SSL 证书,但到 HAProxy 到后端服务器的连接将使用自签名证书。自签名证书的好处是它们是免费的,不需要更新和维护(我可以将到期时间设置在很远的将来,避免每年安装新证书)。但是,可以理解的是,这为 MITM 攻击打开了后端,我读过的某些来源不推荐这样做。
我可以配置 HAProxy 以便我可以在后端服务器上使用自签名证书,但也许以某种方式将 HAProxy 服务器上的自签名证书列入白名单吗?...所以 HAProxy 到后端连接将被加密,它不会受到 MITM 攻击,并且 HAProxy 会知道信任来自后端服务器的自签名证书。
我所描述的可能吗?我是 HAProxy SSL 终止的新手,因此感谢您提供任何建议。
我的配置相关部分如下:
frontend www-in
bind *:80
bind *:443 ssl crt /etc/ssl-keys/my-public-ssl-key.pem no-sslv3
mode http
default_backend https-backend
# force redirect to https
redirect scheme https if !{ ssl_fc }
backend https-backend
balance leastconn
server web1 1.1.1.1:443 check ssl verify none
server web2 2.2.2.2:443 check ssl verify none
http-request set-header X-Forwarded-Port …
Run Code Online (Sandbox Code Playgroud)