我在 Windows Server 2012 机器上运行 Apache,并且一直没有收到“Access-Control-Allow-Origin”标头消息。
具体来说,我收到的信息是这样的:
XMLHttpRequest无法加载 http://myAWSDNS.us-west-2.compute.amazonaws.com:7070/. 所请求的资源上不存在“Access-Control-Allow-Origin”标头。Origin 'http://myAWSDNS.us-west-2.compute.amazonaws.com' 因此不允许访问
我不明白这一点,因为请求的资源和来源都在同一个域上。
无论如何,我想在此 Apache 服务器上启用 CORS,以便不再出现此问题,但是,我不确定如何启用它。
我找到了几篇文章,但是它们都是以假设需要对 Apache 有一定的了解的方式编写的,而我对 Apache 还很陌生。
因此,如果有人能一步一步地告诉我如何启用 CORS 来摆脱上述错误消息,那就太好了!
答案1
由于第一个 URL 在端口上7070
但第二个 URL 没有指定端口(假设80
),它不是“相同”的域。
在您的服务器的配置文件中(应该是类似的httpd.conf
)搜索mod_headers
:您应该找到以以下内容开头的行:
LoadModule headers_module [...]
#
如果有的话,请将其前面的移除以激活它。
然后,在服务器的配置处7070
添加:
Header set Access-Control-Allow-Origin "http://myAWSDNS.us-west-2.compute.amazonaws.com"