我的Web服务器(Ubuntu,Nginx)具有主机分配的IPv4和IPv6地址。对于我的网站,我是否只能将其绑定到IPv6地址?这是标准的推荐方式吗?还是我应该同时使用IPv4和IPv6地址?
我的Web服务器(Ubuntu,Nginx)具有主机分配的IPv4和IPv6地址。对于我的网站,我是否只能将其绑定到IPv6地址?这是标准的推荐方式吗?还是我应该同时使用IPv4和IPv6地址?
Answers:
您应该同时使用IPv4和IPv6地址。
Internet上几乎每个人当前都有一个IPv4地址,或者位于某种NAT的后面,并且可以访问IPv4资源。
但是,在撰写本文时,只有约0.7% 2.3% 3.8% 6.5% 9% 12% 19% 22% 26%的Internet支持IPv6,但是随着IPv6开始在全球范围内推广,这一数字正在稳定增长。
ISP在很少的地方主要向住宅用户提供IPv6或仅提供IPv6,并使用大规模NAT,NAT64或其他此类解决方案来实现IPv4连接。随着IPv4地址空间最终耗尽,该数字预计会增加。这些用户通常将在IPv6上具有更好的性能。
在ISP部署了大规模NAT来解决IPv4耗尽的情况下,由于大规模NAT网关固有的连接限制,陷入困境的用户将遭受其所有Internet连接可靠性的降低。例如,一个网页可能只加载部分资源,而不是全部资源,将残缺的图标保留在应该放置图像的位置,缺少样式和脚本等。这类似于家用路由器上的连接限制耗尽,但会影响该路由器的所有用户。 ISP间歇性地看似随机。如果您希望自己的站点对这些用户可靠,则必须通过IPv6为其提供服务(并且ISP必须已部署IPv6)。
由于IPv6是Internet的发展方向,因此启用网站IPv6现在可以使您处于领先地位,并且可以在问题变得严重之前解决所有问题。
缺省情况下,对于Linux和nginx,可以通过将listen
指令更改为以下内容来同时绑定到IPv4和IPv6 :
listen [::]:80;
listen 80;
或者,对于SSL网站:
listen [::]:443 ssl;
listen 443 ssl;
A
记录用于您的IPv4地址,而该AAAA
记录用于您的IPv6地址。
listen 443;
也有ssl
一样的listen [::]:443 ssl;
?所以listen 443 ssl;
代替listen 443;
。
绑定到两者!
我们有一个IIS网站,其代码使用客户端使用的DNS名称对其内部进行了内部引用。此过程将始终失败。
另一个症状是,在服务器上本地运行的浏览器无法通过服务器名称(仅通过IPv4地址)找到网站。也就是说,http://192.168.55.139
可以工作,但是http://myhost
会失败。ping myhost
默认情况下,使用会返回IPv6地址(ping myhost -4
会返回IPv4地址)。
解决方法是打开IIS并更改网站的绑定以绑定到IPv6地址以及IPv4地址。
Winnovative HTML to PDF Converter
。
Host
不属于您的域名的标头。