支付寶Iot小程序 my.request 請求超時問題記錄
環境
支付寶開放平台,
- 小程序開發配置 ==> 已經配置域名白名單
阿里雲服務器:
-
申請免費ssl證書
-
nginx服務器已配置證書
-
swagger測試沒問題
-
https接口測試沒問題
目前問題
使用真機調試iot小程序,wifi環境下沒有任何問題,切換到4G環境,則訪問阿里雲服務器一直超時請求
訪問其他網站沒問題
錯誤信息如下:
java.util.concurrent.ExecutionException: com.alipay.mobile.common.transport.http.HttpException: Http Transport error[3] : org.apache.http.conn.ConnectTimeoutException: Connect to /39.103.179.69:443 timed out H5_PERF:H5,NETWORKH5,FATAL,https,STALLED_TIME=11msTCP_TIME=10005mshlas=TTARGET_HOST=39.103.179.69:443PRIO=FGURL=https://pay.hnhtlh.com/static/img/logo.57f420e9.pngDT=localdnsSPEED=0.0021RPC_ALL_TIME=42243msTTS=42.22GROUND=FGTMRX=5158TH_PO_ATC=175TTX=6521ERROR=ConnectTimeoutException:Connect to /39.103.179.69:443 timed outNETTUNNEL=HCTMTX=6521TH_PO_AC=1TRX=5158NETTYPE=0_13UUID=nullBWW=0.5833EXT1=FQOS=3_9784.2415TCP_COUNT=3DNS_TIME=10msAPI=h5_http_requestTAG=24179221RESULT=F^ 12
解決方案
-
關閉阿里雲服務器防火牆(無效)
systemctl stop firewalld
-
重新映射域名(無效)
-
清空阿里雲服務器白名單(無效)
-
ssl 證書鏈補全(無效)
-
更換ssl證書(無效)
阿里雲的免費證書(已測試)
騰訊的免費證書(已測試)
-
更換域名(無效)
-
關閉服務器時間戳記錄(無效)
導致請求阿里雲ECS上的APP訪問超時或訪問慢,是由於移動端發送過來的TCP包的時間戳是亂的,所以服務器將這些包給丟棄了
vim /etc/sysctl.config #net.ipv4.tcp_tw_recycle 設置為1,則開啟!設置為0為關閉!記錄時間戳 net.ipv4.tcp_tw_recycle = 0 sysctl -p
終於發現問題
更換為移動手機卡和聯通、電信手機卡,發現可以使用
最終定位問題到物聯網卡(流量卡)和運營商網關IP白名單上面,聯系了聯通物聯網平台和阿里雲售后工程師,均讓聯系設備廠商。
基於設備廠商的問題解決效率和時間原因,直接更換了台阿里雲服務器(更換彈性IP應該也可解決問題)
問題解決! 浪費了兩天時間在排錯上。