20200723-ios,android 访问服务器,公司的wifi 没有问题,4G网络有问题

preface

错误原因: 服务器 nginx设置了白名单问题

最近 ios app 上生产后, 出现了访问服务器 访问失败问题

解决思路 可以有两种:

  1. 通过抓包看看报错信息
  2. 看后台服务器 日志, nginx 日志

打算通过抓包看下数据

抓包 test

  1. ios 下载软件
  2. wifi 环境下 charles 抓包数据

wifi 下 访问数据没有问题, 但是 ios 开发人员说不能访问
4g 网络测试, 确实不能访问服务器
结论: wifi 可以访问, 4G不能访问

中间查询过 ios 和 安卓访问服务器,是否需要在 服务器上作相应设置, 脑洞打开(ipv4, v6…),查了下没有找到相关

然后 群里 ios 开发人员(外包) 的录屏wifi 也不能访问

切换网络环境测试

  1. 把wifi 切换到公司网络的上级网络环境, 依旧可以访问
  2. 怀疑他那边可能有wifi代理设置问题
  3. 远程连接自己家里的电脑, postman 模拟网络请求,显示错误如下

20200723-ios,android 访问服务器,公司的wifi 没有问题,4G网络有问题_第1张图片

  1. 公司的 postman 请求没有问题

确定是: 服务器设置了白名单问题

原因

项目访问:

 云防系统 (nginx) ----> 阿里云部署的项目(nginx + jar)

阿里云上 nginx 设置了 白名单导致了 非白名单上 ip 不能访问服务器
根本错误出在 云防系统这里: 理论上 入口在 云防系统, 阿里云 nginx 白名单仅需要设置 云防系统的 多个i p
但是 云防系统 在转发请求的时候把 请求头数据 修改为 “客户端” 相关数据, 至少 host 修改了,所以 阿里云 nginx 设置的白名单没有通过

解决

  1. 云防系统修改下 转发数据的请求头(推荐)
  2. 阿里云 白名单去除

然而, **企 的云防系统,找他们修改东西, 不是一点麻烦,选择了 2。

你可能感兴趣的:(日志)