我的networking服务器应该只使用IPv6还是使用IPv4和IPv6?

我的networking服务器(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% ,但随着IPv6在全球范围内的推出,这个数字正在稳步增长。

在很less的地方,ISP 主要向居民客户提供IPv6或 IPv6,并使用大规模NAT,NAT64或其他此类IPv4解决scheme。 随着IPv4地址空间最终耗尽,这个数字有望增长。 这些用户通常比IPv6有更好的性能。

在ISP部署了大规模NAT来解决IPv4耗尽的情况下,由于大规模NAT网关固有的连接限制,坚持这一点的用户将会降低所有互联网连接的可靠性。 例如,一个网页可能只加载一些资源 , 而不是所有的资源 ,图像应该留下破碎的图标,缺less样式和脚本等。这类似于家庭路由器上的连接限制耗尽,但影响所有用户ISP间歇性地,似乎是随机的。 如果您希望您的网站对这些用户可靠,则必须通过IPv6提供服务(并且ISP必须已部署了IPv6)。

由于IPv6是互联网的发展方向,现在启用您的网站IPv6将使您领先于游戏,让您在问题变得严重之前就解决任何问题。

configurationnginx

默认情况下,使用Linux和nginx,通过将您的listen指令更改为:可以同时绑定IPv4和IPv6。

 listen [::]:80 ipv6only=off; 

或者,对于SSL网站:

 listen [::]:443 ipv6only=off ssl; 

绑定到两个!

我们有一个IIS网站,其代码使用客户端使用的DNS名称对其自身进行内部引用。 这个过程总是会失败。

另一个症状是服务器本地运行的浏览器无法通过服务器的名称find该网站,只能通过IPv4地址find该网站。 也就是说, http://myhost http://192.168.55.139可以工作,但http://myhost会失败。 使用ping myhost默认情况下会返回IPv6地址( ping myhost -4将返回IPv4地址)。

解决的办法是打开IIS并更改网站绑定以绑定到IPv6地址以及IPv4地址。

在这里输入图像描述