Nginx负载均衡器SSL证书

时间:2020-03-13 15:53:50

标签: nginx ubuntu-18.04 nginx-reverse-proxy

我对NGINX完全陌生。

我想使用免费版本(不是nginx plus)在3台服务器之间进行负载平衡(反向代理),并且连接必须是SSL /443。

我是否将SSL证书放在NGINX负载平衡器服务器上,还是将3个SSL证书分别放在3个Web服务器上?我听过好坏参半的评论。我正在寻找最佳性能。

附加信息:我正在使用通配符SSL证书,并且Web上的其他Web服务器是带有IP_Hash的IIS,以将会话保持在同一Web服务器上。

2 个答案:

答案 0 :(得分:1)

再次打开配置文件进行编辑。

sudo nano /etc/nginx/conf.d/load-balancer.conf

然后将以下服务器段添加到文件末尾。

server {
   listen 443 ssl;
   server_name domain_name;
   ssl_certificate /etc/letsencrypt/live/domain_name/cert.pem;
   ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

   location / {
      proxy_pass http://backend;
   }
}

然后保存文件,退出编辑器,然后再次重新启动nginx。

sudo systemctl restart nginx

启用HTTPS后,您还可以选择对与负载均衡器的所有连接强制加密

server {
   listen 80;
   server_name domain_name;
   return 301 https://$server_name$request_uri;

   #location / {
   #   proxy_pass http://backend;
   #}
}

进行更改后,再次保存文件。然后重新启动nginx。

sudo systemctl restart nginx

答案 1 :(得分:0)

这个问题已经在StackExchange网络中问过了,但是我还是要尝试回答您的问题。

对性能的影响应该很明显,但这实际上取决于您的运行情况。

要考虑使用多个证书的一件事是,一旦请求到达负载平衡器,它将在数据中心/网络内部保持安全。

在您不拥有硬件并且对机器/数据中心没有物理访问权限的情况下,这很有用。这是因为可能有多个人在一个共享空间中运行服务器和应用程序,并且您无法确定该网络中是否有人在窥视并监视流量。您只是不确定那将不会发生。

仅将一个证书(用于负载均衡器)称为“ SSL卸载”,您可以并且应该在此处找到有关此证书的更多信息: