我有一个映射应用程序在我拥有和控制的服务器计算机上运行。 通过端口443(HTTPS)为该应用程序提供自签名证书。
客户端,我有一个前端应用程序需要测试。我曾经成功使用CORS-ANYWHERE来获取对其他公共服务器的请求。
现在,当测试我自己的服务器应用程序时,我必须删除CORS-ANYWHERE,因为该服务器不是公共服务器,因此无法访问。但是,我正面临Cross-Origin Request Blocked
(...)Reason: missing token ‘access-control-allow-headers’ in CORS header ‘Access-Control-Allow-Headers’ from CORS preflight channel
。这使我无法继续进行测试。
在我的特定情况下是否有办法摆脱这种情况?
解决方案
我终于做到了。多亏了this answer,我才能在服务器上启用CORS。我所做的就是将这些代码行添加到我的<VirtualHost>
指令中。希望这可以对任何人有帮助。
myconfig.conf
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Accept, Accept-CH, Accept-Ch$
Header set Access-Control-Expose-Headers "Accept, Accept-CH, Accept-Ch$
Header set Access-Control-Allow-Methods "CONNECT, DEBUG, DELETE, DONE$
</IfModule>