Nginx 替代监听

Nginx 替代监听

我有一些 Nginx 服务器,它们共享它们的配置,因为它们位于负载均衡器池中。

所以我对所有服务器都有一个唯一的配置,并且所有服务器都在监听 *:80 和 *:443 地址。

但这导致我在不支持 SNI(如 Windows XP)的客户端上的 SSL 证书出现一些问题。

为了解决这个问题,我应该为每个 SSL 网站指定一个不同的 IP 地址,但这当然与池中的每个服务器都不同。

你有什么建议吗?

如果 Nginx 无法绑定其中一个 IP,我是否可以在同一台服务器中指定多个 IP,而不会导致错误?

非常感谢!

答案1

在这种情况下,您可能更愿意进行集中式 SSL 终止。您的nginx实例不必担心 SSL,只需让它们执行 http 并将 SSL 终止集中在一个haproxy盒子或冗余负载平衡器(如 A10 或 Netscaler)上即可。然后,您的代理/LB 会将连接重定向到盒子nginx本文解释如何使 SSL 在 haproxy 上运行。

答案2

如果 Nginx 无法绑定其中一个 IP,我是否可以在同一台服务器中指定多个 IP,而不会导致错误?

不确定您正在运行什么操作系统,因为您没有说明这一点,但如果是某种 Linux 版本:允许进程绑定/侦听“非本地”IP。要执行此操作:

echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

如果您希望使其持久,即“跨重启”,则必须将其放在“某处”。对于基于 Debian 的发行版,例如/etc/sysctl.conf:在里面,放入一行

net.ipv4.ip_nonlocal_bind = 1

并执行sysctl -p或重新启动。

相关内容