2 个不同的域或子域没有 'Access-Control-Allow-Origin' CORS 问题

No 'Access-Control-Allow-Origin' for 2 different domains or sub-domains CORS issue

有很多关于'Access-Control-Allow-Origin'的话题,但是我找不到关于子域名的Openseadragon的话题。我的网站是 exampple.domain.com 试图从 另一个 exampple.domain.com 打开 DZI,但出现错误:

XMLHttpRequest cannot load anotherexampple.domain.com/123.dzi. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'exampple.domain.com' is therefore not allowed access.

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

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

访问控制允许来源:*

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

访问控制允许来源:*.domain.com

此外,openseadragon 有设置:

crossOriginPolicy: 'Anonymous',
ajaxWithCredentials: false,

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

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

Access-Control-Allow-Originheader不支持部分通配符。

使用 * 或完整的来源名称。

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

No 'Access-Control-Allow-Origin' header is present on the requested resource.

您可能 尝试过 设置 Access-Control-Allow-Origin header,但显然没有奏效。您需要重新检查您的配置。

这个 link 对 '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/