我應該在我的 Web 伺服器中只使用 IPv6 還是同時使用 IPv4 和 IPv6?
我的網路伺服器(Ubuntu、Nginx)有主機分配的 IPv4 和 IPv6 地址。對於我的網站,我應該將其僅綁定到 IPv6 地址嗎?這是標準推薦的方式嗎?或者,我應該同時使用 IPv4 和 IPv6 地址嗎?
同時使用 IPv4 和 IPv6
您應該同時使用 IPv4 和 IPv6 地址。
目前網際網路上幾乎每個人都有一個 IPv4 地址,或者位於某種 NAT 之後,並且可以訪問 IPv4 資源。
然而,在撰寫本文時,只有大約
0.7%2.3%3.8%6.5%9%12%19%22%26%32% 的網際網路支持 IPv6,但隨著 IPv6 開始在全球推廣,這個數字正在穩步增長。在極少數地方,ISP主要向住宅客戶提供IPv6 或僅提供IPv6,並使用大規模 NAT、NAT64 或其他此類解決方案來實現 IPv4 連接。隨著 IPv4 地址空間的最終耗盡,這個數字預計會增長。這些使用者通常會比 IPv6 有更好的性能。
在 ISP 部署大規模 NAT 來解決 IPv4 耗盡的情況下,由於大規模 NAT 網關固有的連接限制,受此困擾的使用者將遭受其所有 Internet 連接的可靠性降低。例如,一個網頁可能只載入了部分資源而不是全部資源,在應有圖像的地方留下損壞的圖示、缺少樣式和腳本等。這類似於家庭路由器上的連接限制耗盡,但會影響到所有使用者ISP 間歇性和看似隨機的。如果您希望您的站點對這些使用者來說是可靠的,您必須通過 IPv6 提供服務(並且 ISP 必須部署了 IPv6)。
由於 IPv6 是 Internet 的發展方向,現在啟用您的網站 IPv6 可以讓您領先於遊戲,讓您在問題變得嚴重之前解決任何問題。
配置 nginx
預設情況下,使用 Linux 和 nginx,您可以通過將指令更改
listen
為同時綁定到 IPv4 和 IPv6 :listen [::]:80; listen 80;
或者,對於 SSL 站點:
listen [::]:443 ssl; listen 443 ssl;