Nginx
Nginx 替代監聽
我有一些 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
或重新啟動。