No' Access-Control-Allow-Origin'对于具有2个不同子域/ CORS问题的相同域

时间:2017-06-15 15:28:04

标签: javascript cors access-control openseadragon

关于' Access-Control-Allow-Origin'有很多o主题,但我找不到Openseadragon的子域名。我的网站 exampple.domain.com 尝试从 anotherexampple.domain.com 打开DZI,但我收到了错误消息:

  

XMLHttpRequest无法加载 anotherexampple.domain.com/123.dzi 。   No' Access-Control-Allow-Origin'标题出现在请求的上   资源。 Origin' exampple.domain.com '因此不是   允许访问。

两个网站都使用相同的协议HTTPS,服务器是IIS

exampple.domain.com 的服务器设置为:

Access-Control-Allow-Origin:*

anotherexampple.domain.com 的服务器设置为:

Access-Control-Allow-Origin:* .domain.com

此外,openseadragon还有以下设置:

crossOriginPolicy: 'Anonymous',
ajaxWithCredentials: false,

有人可以告诉我如何修复具有不同子域的同一域的CORS问题吗?提前谢谢。

2 个答案:

答案 0 :(得分:3)

Access-Control-Allow-Origin: *.domain.com

Access-Control-Allow-Origin标头不支持部分通配符。

使用*或完整的原始名称。

如果要将特定域上的所有内容列入白名单,您可以阅读Origin请求标头,模式匹配它,然后在服务器上回显它。

  

请求的资源上没有“Access-Control-Allow-Origin”标头。

您可能已经尝试来设置Access-Control-Allow-Origin标头,但它显然无效。您需要重新检查您的配置。

答案 1 :(得分:0)

此链接很好地解释了“ Access-Control-Allow-Origin”的可能值。不幸的是,除了'*'或'http://example.com'之类的单个域之外,您没有太多选择。

https://www.moesif.com/blog/technical/cors/Authoritative-Guide-to-CORS-Cross-Origin-Resource-Sharing-for-REST-APIs/