2016年6月1號(hào)之后蘋果應(yīng)用上傳AppStore審核要求全面支持ipv6檀训,雖然只是一個(gè)簡(jiǎn)單的審核要求,但卻給中國(guó)區(qū)的開發(fā)者帶來了不小的麻煩,因?yàn)楸娝苤脑颍瑖?guó)內(nèi)的IPV6支持的比較差撬碟,所以包括ipv6環(huán)境測(cè)試在內(nèi)的ipv6適配要求,著實(shí)是需要有一套解決方案莉撇。這里都是廢話呢蛤,下面就自己的解決方案開始做方案介紹。
代碼層支持
按照蘋果官方要求做iOS代碼適配ipv6棍郎,這里涉及到了跟網(wǎng)絡(luò)相關(guān)的第三方庫(kù)的時(shí)候其障,按照我自己的經(jīng)驗(yàn),做如下解釋:
1.Afnetworking ?~3.1.0涂佃。(3.0.x版本正常都是支持ipv6的)
2.SDWebImage ~3.8.1励翼。
(總之,跟網(wǎng)絡(luò)相關(guān)的庫(kù)升級(jí)到最新沒錯(cuò)了巡李。)
這里想說的是抚笔,基本的代碼層根據(jù)蘋果官方的要求做配置就好。對(duì)于socket支持侨拦,由于最近上線的項(xiàng)目里沒有用到socket,需要做socket層支持的自己去蘋果官方查適配ipv6要求辐宾。
服務(wù)器支持
1.給域名添加一條AAAA解析(當(dāng)您希望訪問者通過IPv6地址訪問您的域名時(shí)狱从,可以使用AAAA記錄,即用來指定網(wǎng)站域名對(duì)應(yīng)的IPv6地址記錄)叠纹,如果是www的域名季研,則AAAA解析名為www,值為當(dāng)前域名的ipv6DNS地址誉察。詳情:阿里萬(wàn)網(wǎng)IPV6AAAA解析
2.更改服務(wù)器ipv6配置与涡,這里想說明一下,這次的蘋果強(qiáng)制要求ipv6兼容持偏,阿里云無(wú)辜背了黑鍋驼卖,其實(shí)能不能審核通過或者說ipv6環(huán)境下阿里云能不能訪問跟阿里云支不支持ipv6沒有一毛錢關(guān)系。用阿里云而ipv6審核沒有通過的原因是服務(wù)器環(huán)境沒有配置ipv6鸿秆,或者根本就是有的服務(wù)器為了節(jié)省性能將ipv6直接給禁掉了酌畜。所以查看服務(wù)器中ipv6的配置,看是否允許ipv6卿叽。
此處以阿里云為例進(jìn)行說明:
登錄阿里云服務(wù)器終端桥胞,進(jìn)入/etc/modprobe.d/ipv6off.conf(不同的服務(wù)器這里命名可能會(huì)有差別恳守,可以先到這個(gè)目錄看一下跟ipv6相關(guān)的配置文件,然后再vim打開)
1.# vim /etc/modprobe.d/ipv6off.conf
aliasnet-pf-10off ?將本行注掉
optionsipv6 disable=1 改為 optionsipv6 disable=0
2.# vi /etc/sysconfig/network
NETWORKING_IPV6=no 改為 NETWORKING_IPV6=yes
3# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=no 改為 IPV6INIT=yes
IPV6_AUTOCONF=no 改為 IPV6_AUTOCONF=yes
4以上已經(jīng)開啟ipv6贩虾,所以要進(jìn)行一下安全設(shè)置催烘,設(shè)置開機(jī)自啟動(dòng)ipv6防火墻
# chkconfig ip6tables on
至此,ipv6的服務(wù)器端支持已經(jīng)完成缎罢,重啟服務(wù)器測(cè)試ipv6是否已經(jīng)支持伊群,重啟后:
# lsmod | grep ipv6 ? 如果有輸出則已經(jīng)支持ipv6
輸入ifconfig查看ipv6的信息
# ifconfig | grep -i inet6
詳情參考:
騰訊:centos操作系統(tǒng)云主機(jī)開啟ipv6方法
歡迎糾錯(cuò)~