iOS小技能:因境外IP無法訪問導致 App 被拒的解決方案
“我正在參加「掘金·啟航計劃」”
引言
問題:提交新版 iOS App,由於無法登入,導致被拒。
最終排查原因:伺服器的網路策略限制境外IP訪問
解決方案:提交xxxAPP到IOS市場稽核,期間申請放開國外訪問的限制。
I 由於伺服器側的網路安全策略,導致境外IP無法訪問
1.1 網路安全策略的背景
目的是避免境外IP可以訪問相關交易系統。
每次境外訪問的策略開放都意味著可能存在境外交易、網路安全的風險。
1.2 解決方案
上架前,先和運維部門申請淘APP在IOS應用市場稽核支援
xxx子公司將於5月13號下午提交APP到IOS市場稽核,期間申請放開國外訪問的限制(放開時計算,預計需要3個工作日),允許通過IPv6網路訪問(不限於美國,其他國家也能訪問),避免APP在IOS應用市場稽核失敗,望領導審批,謝謝!
上架備註:由於伺服器側的網路安全策略,推薦使用中國境內IP進行測試
登入失敗,稽核被拒絕回覆:您好,親愛的蘋果稽核團隊,由於我們伺服器的原因導致無法登入,現已修復請重新稽核。非常感謝!
1.3 境外是否能訪問的測試方法
自己開啟V_P_N進行測試,是否開通成功。
通常網路層不針對某個單一域名進行限制的,如果機房部署的其他專案可以稽核通過,可以採取其他維度的交叉驗證。
比如: 1. 提交測試域名給蘋果稽核,判斷是不是生產的網路策略導致的。 2. 搭建IPV6網路環境驗證是否可以正常登入
蘋果稽核要求,iOS裝置需在ipv6網路環境下正常執行。
II IPv6解決方案
2.1 方案一 :稽核時臨時新增一條4A記錄
- 價格參考:
- 一次性299,稽核時有效,包過。(下次申請需要重新交錢)
大部分通過之後就沒問題了,並非每次都會檢查,少部分可能每次都有問題
- 包月就是當月不限次數,V6地址一直有效;包月499。
- 包年3999,包年85折;不限次數,不限制IP。
2.2 方案二:接入 IPv6隧道
在國內伺服器上免費接入HE tunnel IPv6隧道
-
註冊 HE tunnel IPv6隧道:
-
建立 IPv6 通道
-
配置 ECS 使其支援 IPv6
-
在Example Configurations (http://tunnelbroker.net/tunnel_detail.php?tid=394665#tabs-2)在select your os的下拉選單中選擇你用的作業系統,生成對應的示例指令碼
- 重啟後使用 ifup he-ipv6 確認隧道啟動
-
使用 ping6 來測試配置是否正確
-
配置 Nginx 使其監聽 IPv6 埠
-
配置 DNS 使其支援 IPv6 解析
2.3 方案三: 伺服器支援IPV6
2.4 驗證(mac搭建IPV6網路環境)
- 確保mac是連網線
- 在系統設定中,找到“共享”,按住option鍵時點選共享按鈕進入介面,會出現“建立NAT 64網路”的勾選框:
2.5 如果以上都無法解決,可以試試這個
跟運維安全部門進一步交流,看是不是沒有放開國外訪問這個域名的限制,看下是否允許通過IPv6網路訪問這個域名。
```objectivec
x董、x總,您好:
x x x子公司將於8月11號早上提交xxxAPP到IOS市場稽核,期間申請放開國外訪問xxx的限制(放開時計算,預計需要3個工作日),允許通過IPv6網路訪問xxx(不限於美國,其他國家也能訪問),避免APP在IOS應用市場稽核失敗,望領導審批,謝謝!
```
III see also
公眾號:iOS逆向
- iOS小技能:UITableView的適配 (iOS10/iOS14/iOS16.0)
- iOS小技能:和uni-app、unity的融合方案
- iOS小技能:iOS15崩潰排查技巧(symbolicatecrash符號化分析問題、匯出和隱藏符號)
- iOS小技能:【intercept the HTTP/HTTPS requests 】利用NSURLProtocol 攔截請求
- iOS小技能: tweak 整合CocoaAsyncSocket(建連、斷開、重連、心跳、通用請求)
- iOS小技能:iOS13 證件掃描 & 文字識別API
- iOS小技能:整合下拉重新整理控制元件 & 實現無感知上拉載入更多
- iOS小技能:程式碼觸發button的點選事件、快速找到按鈕action方法
- iOS小技能:撥號、發郵件、簡訊、應用間跳轉
- iOS小技能:鏈式程式設計在iOS開發中的應用
- iOS小技能:iOS14 讀取使用者剪下板資料彈出提示的相容方案
- iOS小技能:因境外IP無法訪問導致 App 被拒的解決方案
- iOS小技能:RSA簽名、驗籤、加密、解密的原理
- iOS小技能:Xcode14新特性(適配)
- iOS小技能:Socket基礎知識
- iOS小技能:SKU檢視搭建
- iOS小技能: 日曆的使用(案例:兩個時間的比較、獲取最近30天的資料)
- iOS小技能:1. iOS 實現json資料提交 2. 對同一個URL的多次請求進行資料快取 3. 檢查網路狀態
- iOS小技能:使用正則表示式對聊天記錄的關鍵詞進行監控
- iOS小技能:去掉/新增導航欄黑邊(iOS13適配)