1.Greetings
HI,大家好,我是負載均衡SLB産品經理添毅,今天我們來聊一聊蘋果的IPv6稽核,以及使用阿裡雲負載均衡SLB(IPv6)搞定AppStore IPv6稽核。
2.Appstore IPv6稽核是什麼
由于國外的IPv6發展起步較早,是以在世界上可能已經存在一些IPv6 Only的網絡環境了,所謂IPv6 Only就是指僅具有IPv6位址的網際網路環境,蘋果為了保證這些IPv6 Only的使用者也能夠順利的使用蘋果的服務和AppStore上的App,是以要求從2016年6月1日起,所有上架AppStore的應用必須支援IPv6-only網絡。
參考網址:
https://developer.apple.com/support/ipv6/但這個要求常常被誤讀為上架AppStore的應用(包括APP、伺服器以及伺服器所在網絡環境)要全面支援IPv6才行,但其實不然。
蘋果當然知道,第三方開發者以及的他們的伺服器遍布世界各地,各國建設IPv6的進展參差不齊,如果一刀切下來,不要說2016年,恐怕到現今的2018年,這個改造工作量都無法得以完成,将極大影響AppStore市場和蘋果生态的繁榮。
是以蘋果的要求僅僅是“Support IPv6-only”而不是“Must be IPv6-only”,也就是說第三方開發者的應用隻要能被IPv6-only環境下的使用者通路即可,并不要求整個系統全面轉化為IPv6。
仔細研讀上面蘋果官網連接配接中的内容,可以看到如下描述:
首先蘋果給出一個在沒有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的處理能力。
總結下來蘋果的IPv6-only Support稽核走的是兩條路線:
- 如果應用App、伺服器、網絡環境均具備IPv6條件,直接通路就好了。
- 如果應用App、伺服器、網絡環境不具備IPv6條件,那麼蘋果将通過DNS64/NAT64來通路你的應用。
這樣看來,大部分情況下,我們應該什麼都不需要做,就能順利通過稽核,但是為什麼網上存在大量的使用者抱怨稽核不通過呢?
3.為什麼會稽核失敗
其實問題主要出在DNS64/NAT64這個環節,蘋果在通過DNS64/NAT64通路我們的應用伺服器時,由于其測試環境部署在美國,而我們的伺服器如果部署在中國大陸境内,在6to4轉換通路是往往會出現一些不可描述的失敗原因,進而導緻稽核失敗。
這時最好的辦法就是讓稽核通路路徑不要走DNS64/NAT64這一條路徑,進而讓應用伺服器擁有一個IPv6的位址,就是王道了。
4.解決方案
使用阿裡雲負載均衡SLB IPV6執行個體,同樣無需後端應用的改造,将原有服務直接挂載到IPv6 SLB的後端,由SLB實作6to4轉換,而在蘋果稽核服務通路應用系統的時,是直接通路IPv6 VIP的(SLB上提供的IPv6位址),是以App稽核将不再是煩惱。
如何購買IPv6執行個體具體參看
《終于來了!重磅釋出:阿裡雲負載均衡SLB率先支援IPv6!》.
PS:如果用IPv6 SLB稽核還是出現問題,可以嘗試更新付費版本
雲解析,可能會有奇效哦!
5.結束語
目前阿裡雲負載均衡SLB已經面向全網使用者開放IPv6執行個體購買,
詳情參考,同時IPv6 SLB更享65折帶寬優惠,即刻行動起來,今天就讓您的服務
更新到IPv6吧!