苹果手机请求程序报network error错误

最近有用户反馈在使用APP的时候,一直提示network error错误,但是本身网络都是正常的。一开始我以为是运营商劫持,因为好几年前遇到过这种情况。当初解决的方案是做了多个服务器域名配置到APP里。当连接不上服务器但可以ping百度的时候,在换个可以ping通的域名请求。

这次用户访问服务器是正常的,而且反馈的3个用户都是苹果手机。然后就去查了下。发现ios 12系统不支持如下跨域配置,否则就会造成Network error

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Headers' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Methods' '*';
    if ($request_method = 'OPTIONS') {
       return 200;
    }

后面改成如下配置就好了。

location / {

  #以下为新增配置
  #   预检命令的缓存,如果不缓存每次会发送两次请求
  add_header Access-Control-Max-Age 3600;
  #   带cookie请求需要加上这个字段,并设置为true
  add_header Access-Control-Allow-Credentials true;
  #   表示允许这个域跨域调用(客户端发送请求的域名和端口)
  #   $http_origin动态获取请求客户端请求的域   不用*的原因是带cookie的请求不支持*号
  add_header Access-Control-Allow-Origin $http_origin;
 # 请求方式*表示全部支持
  add_header 'Access-Control-Allow-Methods' '*';
  #   表示请求头的字段 动态获取
  add_header Access-Control-Allow-Headers $http_access_control_request_headers;
  #   OPTIONS预检命令,预检命令通过时才发送请求
  #   检查请求的类型是不是预检命令
  if ($request_method = OPTIONS){
      return 200;
  }
  #其他配置....

}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容