Angular 如果CORS标头‘;访问控制允许原点’;is‘*’;

Angular 如果CORS标头‘;访问控制允许原点’;is‘*’;,angular,google-chrome,spring-boot,firefox,xmlhttprequest,Angular,Google Chrome,Spring Boot,Firefox,Xmlhttprequest,我的应用程序在JavaWeb应用程序中执行一些REST请求。请求是CORS请求,因此浏览器在每次选项飞行前都会执行该操作。 每个请求都类似于 主机:localhost:8080用户代理:Mozilla/5.0(Windows NT 6.1;Win64; x64;rv:63.0)Gecko/20100101 Firefox/63.0接受: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受语言:它,它;q=0.8,在美国

我的应用程序在JavaWeb应用程序中执行一些REST请求。请求是CORS请求,因此浏览器在每次选项飞行前都会执行该操作。 每个请求都类似于

主机:localhost:8080用户代理:Mozilla/5.0(Windows NT 6.1;Win64; x64;rv:63.0)Gecko/20100101 Firefox/63.0接受: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受语言:它,它;q=0.8,在美国;q=0.5,en;q=0.3接受编码: gzip,deflate访问控制请求方法:GET 访问控制请求头:iv组、iv用户、x-xsrf-token来源: 连接:保持活动缓存控制:最大年龄=0

java应用程序响应为:

HTTP/1.1 200 Set Cookie:JSESSIONID=70a5ed7e8d32dcee55991d394594ab0; Path=/blablab;HttpOnly设置Cookie: XSRF-TOKEN=35ad4230-b664-400c-84c0-7d06877bf05d;路径=/Vary:Origin 更改:访问控制请求方法更改: 访问控制请求标头访问控制允许来源: 访问控制允许方法: 获取、发布、放置、删除、标题、选项访问控制允许标题: iv组、iv用户、x-xsrf-token访问控制允许凭据: 真正的访问控制最大年龄:1800允许:获取、头、发布、放置、删除、, 跟踪,选项,补丁X-Content-Type-OPTIONS:nosniff X-XSS-Protection:1;模式=块缓存控制:无缓存,无存储, 最大年龄=0,必须重新验证Pragma:无缓存过期:0 X帧选项:拒绝内容长度:0日期:2018年11月22日星期四 08:31:18格林尼治标准时间

对于firefox,如果CORS头
Access Control Allow Origin
*
,则此响应在控制台上是CORS冲突,它写入的凭据不受支持


对于google chrome,请求是可以的,并且显示内容。

如果在客户端请求中使用带凭据,则会发生这种情况。在这种情况下,您可以修改服务器端以检查允许的引用,并在Access Control Allow Origin标头中发送正确的url。如果您不使用凭据,则接受*


更多信息可在此处找到:

对于前来搜索此问题的所有人:


我安装了一个扩展(),它覆盖了标题。关闭或卸载它可以解决问题。

此配置对我有效。注意客户端
中的凭据:true

客户端配置:

config = {
    url:'http://somedomain',
    method:'post',
    withCredentials: true,
    data:{myfield:"myvalue"}
};

axios.request(config);
Access-Control-Allow-Credentials   true
Access-Control-Allow-Headers  X-PINGOTHER, Content-Type
Access-Control-Allow-Methods GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
Access-Control-Allow-Origin: http://localhost:4200 // WILD CARD WILL NOT WORK WHEN POSTING 

服务器端配置:

config = {
    url:'http://somedomain',
    method:'post',
    withCredentials: true,
    data:{myfield:"myvalue"}
};

axios.request(config);
Access-Control-Allow-Credentials   true
Access-Control-Allow-Headers  X-PINGOTHER, Content-Type
Access-Control-Allow-Methods GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
Access-Control-Allow-Origin: http://localhost:4200 // WILD CARD WILL NOT WORK WHEN POSTING 


但是如何查看标题Access Control Allow Origin:和not Access Control Allow Origin:中包含的服务器响应:*在google chrome中总是可以的,但在firefox中问题似乎总是存在。问题中的服务器响应显示
Access Control Allow Origin:http://localhost:4200