為什么APP在AppleStore的IPv6審核不通過?
蘋果IPv6審核機(jī)制
蘋果AppStore審核人員在美國(guó)的IPv6-Only環(huán)境下對(duì)APP進(jìn)行訪問,提交App后,如果AppServer支持IPv6,則可直接訪問。如果AppServer不支持IPv6,則通過DNS64+NAT64進(jìn)行訪問。如下圖所示。
由于大部分開發(fā)者的AppServer都是不支持IPv6直接訪問的。所以,AppStore審核時(shí),基本都是用NAT64+DNS64進(jìn)行訪問的。
DNS64+NAT64訪問機(jī)制
DNS64:蘋果AppStore審核的時(shí)候,要去 DNS 服務(wù)器查詢AppServer的服務(wù)器的 IPv6 地址,然后進(jìn)行訪問。如果查詢不到 IPv6 地址,會(huì)進(jìn)而詢問 IPv4 地址,然后蘋果的網(wǎng)絡(luò)會(huì)將查詢到IPv4地址轉(zhuǎn)換成IPv6的地址,返回給App客戶端使用。如下圖所示。
NAT64:蘋果AppStore審核的時(shí)候,通過上一步獲得IPv6的地址后,客戶端App會(huì)直接訪問IPv6 服務(wù)端的內(nèi)容,或者通過NAT64的網(wǎng)關(guān)訪問IPv4服務(wù)端的內(nèi)容。如下圖所示。
總結(jié)
由此可以看出,蘋果AppStore在做IPv6審核的時(shí)候,并不需要DNS或者服務(wù)器支持IPv6接入。IPv4環(huán)境下的DNS或者服務(wù)器地址會(huì)由蘋果AppStore審核時(shí)的DNS64+NAT64轉(zhuǎn)換為IPv6地址進(jìn)行通信。
如果,APP在蘋果進(jìn)行IPv6審核時(shí)不通過,可能原因主要有兩方面:
1.App本身不兼容IPv6。此時(shí),最好的辦法是讓App本身兼容IPv6;
2.跨國(guó)網(wǎng)絡(luò)問題導(dǎo)致蘋果AppStore所在的網(wǎng)絡(luò)在審核時(shí)連接不通國(guó)內(nèi)的服務(wù)器。此時(shí)推薦使用云解析付費(fèi)版(具有海外DNS BGP節(jié)點(diǎn))以及阿里云海外Region的ECS;
