Ipv6

我應該在我的 Web 伺服器中只使用 IPv6 還是同時使用 IPv4 和 IPv6?

  • April 28, 2020

我的網路伺服器(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;

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