要上苹果APP,则必须要支持IPV6和HTTPS,阿里云本身没有开放IPV6地址。因此需要进行IPV6的相关配置。查了很多IPV6的配置资料,最终选择用HE进行IPV6设置。在这过程中遇到一些问题,以记录下来以备注。
1、IPV6 Tunnel Broker设置
在HE的Free IPV6 Tunnel Broker上注册用户,进入https://tunnelbroker.net/创建IPV4地址对应的IPV6。如下图,输入阿里云服务器的开放IPV4地址,选择HE的IPV6服务器,最后点击底部的“Create Tunnel”进行数据设置。
在这里遇到的问题是,阿里云服务器开启了防火墙,HE在进行IPV4验证时出现如下错误:
解决方式是:在服务器防火墙中对该IP地址进行设置。
2、按照HE中Tunnel Broker的参照命令在阿里云服务器进行IP6Tunnel设置
根据上图的命令行,在Windows2012R2服务器的PowerShell中逐行输入命令。命令执行完后,输入ipconfig /all检查IPV6地址。在这里由于阿里云服务器是在私有云里,第二步的IPV4地址按命令用的是开放的IPV4地址,会导致IP6Tunnel的媒体状态是媒体已断开状态。因此按上图NOTE的内容提示,需要将命令的IPV4地址修改为服务器的内部IP地址,如192.168.0.5。
HE的IP6Tunnel在服务器上命令设置成功后ipconfig /all的结果如下。
在这步进行命令行处理时,遇到的问题有:
a. IP6Tunnel网络上有重名
这是因为已经存在有IP6Tunnel了,需要将已有的进行删除。删除命令如下:
netsh interface ipv6 delete interface IP6Tunnel
netsh interface ipv6 reset all
3、检查服务器IPV6地址设置效果
在浏览器中输入http://test-ipv6.com/index.html.zh_CN,可检查测试服务器IPV6的连接。服务器IPV6设置成功的效果如下图。
4、在DNS上配置AAAA的IP地址
5、IPV6访问验证测试
在http://ipv6-test.com/validate.php 中输入IPV6对应的域名地址,进行验证测试。
在进行测试时出现了以下问题:
a. 如下图所示,在开启防火墙的情况下,只通过了AAAA DNS record验证,其余两个验证没有。
解决上述问题的方式是,进行防火墙设置。设置如下图:
b. 如a中测试结果图示,在没有开启防火墙的情况下,仍然没有通过第二三项测试。
检查发现,该服务器和IPV6能正常通过验证的测试服务器的差异,在于ipconfig /all出现的网络属性中,多了一个”loopback”网络。是否是这个网络设置导致网络异常?因此将该网络进行禁用,再进行测试,发现可以正常出结果了。因此将loopback网络进行禁用。
c. Http地址对应的IPV6测试验证通过后,再进行https地址验证。按说应该是会验证通过的。不过出来的还是a中测试结果图示,只是第二步的错误提示信息有所不同。
这个问题的解决方式是由于在IIS设置中没有进行IPV6地址绑定,对IPV6地址进行绑定后,验证成功。如下图所示,在IIS中进行网站绑定设置IPV6地址。
6、IPV6测试结果