支付宝Iot小程序 my.request 请求超时问题记录 - 愤怒的鸡蛋面

时间:2024-03-06 12:05:39

支付宝Iot小程序 my.request 请求超时问题记录

环境

支付宝开放平台,

  • 小程序开发配置 ==> 已经配置域名白名单

阿里云服务器:

  • 申请免费ssl证书

  • nginx服务器已配置证书

  • swagger测试没问题

  • https接口测试没问题

目前问题

使用真机调试iot小程序,wifi环境下没有任何问题,切换到4G环境,则访问阿里云服务器一直超时请求

访问其他网站没问题

错误信息如下:
错误截图1
错误截图2

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

解决方案

  1. 关闭阿里云服务器防火墙(无效)

    systemctl stop firewalld
    
  2. 重新映射域名(无效)

  3. 清空阿里云服务器白名单(无效)

    ip白名单

  4. ssl 证书链补全(无效)

  5. 更换ssl证书(无效)

    阿里云的免费证书(已测试)

    腾讯的免费证书(已测试)

  6. 更换域名(无效)

  7. 关闭服务器时间戳记录(无效)

    导致请求阿里云ECS上的APP访问超时或访问慢,是由于移动端发送过来的TCP包的时间戳是乱的,所以服务器将这些包给丢弃了

    vim /etc/sysctl.config
    
    #net.ipv4.tcp_tw_recycle 设置为1,则开启!设置为0为关闭!记录时间戳
    net.ipv4.tcp_tw_recycle = 0  
    
    sysctl  -p
    

终于发现问题

更换为移动手机卡和联通、电信手机卡,发现可以使用

最终定位问题到物联网卡(流量卡)和运营商网关IP白名单上面,联系了联通物联网平台和阿里云售后工程师,均让联系设备厂商。

基于设备厂商的问题解决效率和时间原因,直接更换了台阿里云服务器(更换弹性IP应该也可解决问题)

问题解决! 浪费了两天时间在排错上。