App store 應用稽核由於 IPv6 網路問題被拒的一點分析
http://www.jianshu.com/p/d18ada23f78d
六月以後陸續有一些軟體提交市場的時候被拒了,症狀基本就是無法登陸啥的。我們公司的應用也未能倖免。
很多同學也想了不少辦法,申訴、拍視訊啥的都有,有人成功有人失敗。但是如果蘋果不能再自己的測試環境下測試成功,基本就還是要被拒的。
先分析一下情況,很多開發者抱怨自己按照蘋果給出的方法,在自己電腦上搭了 IPv6 的環境測試了,沒有問題,為啥一提交稽核就不行了呢?這裡就要看一下本機搭的這個 IPv6 環境到底是怎麼回事,它到底能驗證什麼。
蘋果提供的方法是幫我們建立一個 NAT64 的網路,這裡先要搞清楚啥是 NAT64. 其實簡單來說,就是這樣的:
Mac 建立的 IPv6 網路
所以,手機和 Mac 之間是 IPv6 沒錯,但 Mac 和你的伺服器之間還是 IPv4 連線。如果這項測試通過,可以說明:你的客戶端應用在 IPv6 網路下,是(基本)沒有問題的,但是無法驗證你的伺服器能夠對 IPv6 網路做出正確的響應。
然而,蘋果稽核的時候,卻是要去 DNS 伺服器詢問你的伺服器的 IPv6 地址,然後進行訪問。如果查詢不到 IPv6 地址,可能會進而詢問 IPv4 地址,然後進行轉換使用。蘋果明確表示伺服器不需要支援 IPv6,但是有一點蘋果沒有指出來,那就是,雖然你的伺服器不用支援 IPv6,但是必須正確響應 IPv6 的 DNS 查詢。
如何驗證呢??使用以下命令即可:
$ dig +nocmd +nostats example.com AAAA
如果返回的 status 為 NOERROR, 那基本就沒什麼問題,但是一定要在多個網路環境下測試都通過才行。如果返回的是其他的響應,尤其是 SERVFAIL 的情況,那就基本杯具了。由於你已經驗證了客戶端沒有問題,現在要做的,就是催著你的運維、後臺啥的,趕緊去改 DNS 配置,直到穩定返回 NOERROR 為止。
作者:Hyony
連結:http://www.jianshu.com/p/d18ada23f78d
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
轉載於:https://my.oschina.net/huqiji/blog/1491219