HI,你們好,我是負載均衡SLB產品經理添毅,今天咱們來聊一聊蘋果的IPv6審覈,以及使用阿里雲負載均衡SLB(IPv6)搞定AppStore IPv6審覈。html
因爲國外的IPv6發展起步較早,所以在世界上可能已經存在一些IPv6 Only的網絡環境了,所謂IPv6 Only就是指僅具備IPv6地址的互聯網環境,蘋果爲了保證這些IPv6 Only的用戶也可以順利的使用蘋果的服務和AppStore上的App,所以要求從2016年6月1日起,全部上架AppStore的應用必須支持IPv6-only網絡。
參考網址:https://developer.apple.com/s...後端
但這個要求經常被誤讀爲商家AppStore的應用(包括APP、服務器以及服務器所在網絡環境)要全面支持IPv6才行,但其實否則。服務器
蘋果固然知道,第三方開發者以及的他們的服務器遍及世界各地,各國建設IPv6的進展良莠不齊,若是一刀切下來,不要說2016年,恐怕到現今的2018年,這個改造工做量都沒法得以完成,將極大影響AppStore市場和蘋果生態的繁榮。網絡
所以蘋果的要求僅僅是「Support IPv6-only」而不是「Must be IPv6-only」,也就是說第三方開發者的應用只要能被IPv6-only環境下的用戶訪問便可,並不要求整個系統全面轉化爲IPv6。app
仔細研讀上面蘋果官網鏈接中的內容,能夠看到以下描述:負載均衡
首先蘋果給出一個在沒有IPv6-ony環境的狀況下,教你們搭建一個IPv6-only的訪問環境,便於進行本地的測試測試
接着蘋果提到:
針對App來講:並不用全面替換掉其中涉及到IPv4部分的代碼(網絡相關API),只要可以經過上述IPv6-only環境可以訪問便可,可見這個標準存在一些模糊性,須要用戶自行搭建上述環境並經過本地測試。
同時蘋果也建議到:代碼中最好不要出現專門爲IPv4或者IPv6提供的API,而儘可能使用通過封裝的地址簇無關的API。使用這些地址簇無關的、經由蘋果良好封裝的API,APP能夠在IPv6和IPv4環境中自適應,而無需感知底層網絡基礎設施的細節。阿里雲
針對服務器來講:若是服務器部署在互聯網上,那麼其實並不須要進行當即的改動,由於應爲蘋果會經過6to4轉換服務器即DNS64/NAT64,去訪問你的應用,只要能訪問通就行。
同時蘋果也建議到:儘管如今不須要,早晚服務器時須要IPv6支持的,即服務器可以分配IPv6地址,域名可以解析到V6的地址。
但若是有些服務器是內嵌在iOS App客戶端自己中的狀況,因爲這種狀況沒法進行6to4轉換,所以必需要要求改內嵌Server和客戶端都具有IPv6的處理能力。spa
總結下來蘋果的IPv6-only Support審覈走的是兩條路線:htm
這樣看來,大部分狀況下,咱們應該什麼都不須要作,就能順利經過審覈,可是爲何網上存在大量的用戶抱怨審覈不經過呢?
其實問題主要出在DNS64/NAT64這個環節,蘋果在經過DNS64/NAT64訪問咱們的應用服務器時,因爲其測試環境部署在美國,而咱們的服務器若是部署在中國大陸境內,在6to4轉換訪問是每每會出現一些不可描述的失敗緣由,從而致使審覈失敗。
這時最好的辦法就是讓審覈訪問路徑不要走DNS64/NAT64這一條路徑,從而讓應用服務器擁有一個IPv6的地址,就是王道了。
使用阿里雲負載均衡SLB IPV6實例,一樣無需後端應用的改造,將原有服務直接掛載到IPv6 SLB的後端,由SLB實現6to4轉換,而在蘋果審覈服務訪問應用系統的時,是直接訪問IPv6 VIP的(SLB上提供的IPv6地址),所以App審覈將再也不是煩惱。
目前阿里雲負載均衡SLB已經面向全網用戶開放IPv6實例購買,詳情參考,同時IPv6 SLB更享65折帶寬優惠,即刻行動起來,今天就讓您的服務升級到IPv6吧 !
本文做者:添毅
閱讀原文本文爲雲棲社區原創內容,未經容許不得轉載。