Nginx

Nginx 替代監聽

  • January 1, 2016

我有一些 Nginx 伺服器共享它們的配置,因為它們位於負載均衡器池中。

所以我對所有伺服器都有一個獨特的配置,所有伺服器都在監聽 *:80 和 *:443 地址。

但這導致我在不支持 SNI(如 Windows XP)的客戶端上的 SSL 證書出現一些問題。

為了解決這個問題,我應該為每個 SSL 網站指定一個不同的 IP 地址,但這當然不同於池中的每個伺服器。

你有什麼建議嗎?

如果 Nginx 無法綁定其中一個,我能否在同一伺服器中指定多個 IP 而不會導致錯誤?

非常感謝你!

這是您可能更喜歡進行集中式 SSL 終止的實例。無需讓您的nginx實例完全擔心 SSL,只需讓它們執行 http 並將 SSL 終止集中在一個haproxy盒子或冗餘負載均衡器(如 A10 或 Netscaler)上。然後,您的代理/LB 會將連接重定向到這些nginx盒子。 本文解釋瞭如何讓 SSL 在 haproxy 上執行。

如果 Nginx 無法綁定其中一個,我能否在同一伺服器中指定多個 IP 而不會導致錯誤?

不確定您正在執行什麼作業系統,因為您沒有說明這一點,但如果它是某種 Linux 風格:允許程序綁定/偵聽/在“非本地”IP 上。為此:

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

如果你不想讓它持久化,也就是“重新啟動”,你必須把它放在“某個地方”。對於基於 Debian 的發行版,這將是例如/etc/sysctl.conf:在裡面,放一行閱讀

net.ipv4.ip_nonlocal_bind = 1

並執行sysctl -p或重新啟動。

引用自:https://serverfault.com/questions/734528