我正在配置HAProxy,使其能够终止SSL,因此只有一个地方可以配置购买的SSL证书。但是,我更希望与后端服务器的连接也使用SSL加密。
我发现的一个建议是在后端服务器上创建自签名证书,然后在每个服务器行上设置"verify“。..。因此,从浏览器到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 %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }发布于 2015-11-12 23:19:49
这个问题实际上不是与HAProxy有关,而是与管理证书和证书颁发机构有关。
不确定您使用的是哪个操作系统,因为您没有说明这一点,但是如果这是Linux的风格(尽管下面的内容适用于Debian和派生程序):
ca-certificates。your ca root cert并将其放入/usr/local/share/ca-certificates/name-of-your-ca/中。(您可能必须自己创建文件夹name-of-your-ca。)确保your ca root cert有一个.crt扩展。(默认情况下,/usr/local/share/ca-certificates/是由root:staff拥有的,因此使用sudo或root进行此操作。)update-ca-certificates (通过sudo / as root)。/etc/ssl/cert/your-ca-root.pem符号链接到/usr/local/share/ca-certificates/name-of-your-ca/your-ca-root.crt。HAProxy和利润中启用验证。https://serverfault.com/questions/735936
复制相似问题