当使用 Firefox 从服务器获取资源时,我收到以下错误消息:
跨源请求被阻止:同源策略不允许读取远程资源 原因:CORS header ‘Access-Control-Allow-Origin’ 与 ‘*, *’ 不匹配
'*, *'
是什么意思?这个值从哪里来?我无处使用该值!我的 .htaccess
文件包含以下内容,我相信这应该足以允许所有来源:
Header set Access-Control-Allow-Origin "*"
最简单的解释是浏览器收到的响应包含两个
Access-Control-Allow-Origin
标头:
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: *
作为 CORS 检查的一部分,浏览器使用字符序列 Access-Control-Allow-Origin
作为分隔符,有效地将多个
,
标头的值连接成一个。在您的具体情况下,就好像您的浏览器收到包含以下标头的响应:
Access-Control-Allow-Origin: *, *
但是,*, *
值绝不表示所有起源;只有由单个
*
字符组成的 通配符可以表示所有来源。您需要找出响应包含多个
Access-Control-Allow-Origin
标头的原因,并确保它最多包含一个。最有可能的是,您的 CORS 中间件正在添加一个,而您的 Web 服务器或某些反向代理正在添加另一个。