Joe*_*e J 6 ssl nginx load-balancing haproxy
我正在努力配置 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 %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
Run Code Online (Sandbox Code Playgroud)
问题实际上与HAProxy
,而是与管理证书和证书颁发机构有关。
不确定您使用的是哪个操作系统,因为您没有说明这一点,但如果它是某种 Linux 风格(尽管以下适用于Debian
和衍生产品):
确保您已ca-certificates
安装该软件包。
您正在使用自己的证书颁发机构(ca)创建证书。
把your ca root cert
这个 ca 放在里面/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
并获利。
归档时间: |
|
查看次数: |
11191 次 |
最近记录: |