本来正常用的服务报了network_error.

部分用户不行.改用ie(edge)浏览器可以访问系统.

随着时间推移,谷歌等不能用户的用户越来越多.

升级之后的edge也报跨域请求了.

问题定位:

前端报错如下:

has been blocked by CORS policy: Cannot parse Access-Control-Allow-Headers response header field in preflight response.

服务器配置了兼容所有的头信息,配置如下:

"Access-Control-Allow-Headers", "User-Agent,Referer,Accept,appId,appVersion,client,signature,timestamp,*"

最后写了,*了为啥还是报错不能执行呢?懵逼了.

如果跨域请求不行应该都不行才对啊!为啥ie等浏览器可以,高端浏览器不行呢?

猜测:

原始规则-->解析到包含*关键字后所有的字段都进行放行.*为关键字.

新版本规则-->单独一个*为关键字(匹配所有),如果除了*之外还有其它的字符,那么*只是视为普通字符.

解决验证:

"Access-Control-Allow-Headers", "*"

  亲测验证可行.

 



 

posted on 2020-10-23 16:50  夜色无边000  阅读(1113)  评论(0)    收藏  举报