因此,我计划让 ELB 通过 SSL 直通运行 haproxy 或 nginx 的服务器。
我将托管数千个 lets-encrypt 证书。
nginx 和 haproxy 哪个更适合处理数千个 SSL 证书?或者说在这方面基本上没有区别?
我想要在 haproxy 或 nginx 上终端 SSL,并且拥有如此多的证书文件等。我想知道哪一个能更好地处理这么多证书。
答案1
答案2
两者都很棒。我个人会使用 nginx,因为从这个角度来看你不需要运行多个后端(据我所知),所以你不需要 haproxy。
只需使用 ssl 和代理密码设置 nginx 即可:)
答案3
我认为使用 HAProxy 加载数千个证书更容易。您需要做的就是将您的证书放在一个目录中,然后 HAProxy 将加载所有证书crt 指令。
因此,SSL 卸载的最小配置是:
listen ssl_offload
mode http
bind IP:443 ssl crt <path-to-ssl-directory>
timeout client 30s
timeout server 30s
timeout connect 5s
server srv1 IP:80 check
HAProxy 将根据客户端提供的 SNI 主机名使用正确的证书(目前支持的被大多数现代浏览器所接受)。
加载多个 SSL 证书只是内存消耗的问题。HAProxy 需要一个包含所需证书和任何相关私钥的 PEM 文件。因此,如果平均 PEM 文件约为 5K(2048 个 rsa 密钥),则加载数百万个 PEM 文件将花费您大约 5GB 的内存。
现在,虽然 HAProxy 为每个侦听器分配证书,但我认为 NGINX 为每个“服务器名称”分配证书,因此您需要的服务器块数量与您拥有的域数量相同。如果您使用数千个服务器块,则可能需要编写脚本。