我有一个网站,其中包含一个用于静态文件的单独子域。我发现我需要设置Access-Control-Allow-Origin
标头才能使某些AJAX功能正常工作,特别是字体。我希望能够从localhost
访问静态子域以进行测试以及从www
子域进行测试。简单的解决方案似乎是Access-Control-Allow-Origin: *
。我的服务器使用nginx。
您可能不希望在响应标头中使用Access-Control-Allow-Origin
通配符的主要原因是什么?
答案 0 :(得分:0)
例如,您可能不想使用通配符:
*
。例如,您的网站位于http://www.example.com
,后端API位于http://api.example.com
,然后API会以Access-Control-Allow-Origin: http://www.example.com
回复。Access-Control-Allow-Origin: *
,但其值必须是实际请求中的来源值。答案 1 :(得分:-1)
我认为您可能会未经您的明确许可而让其他网站使用您的API。 想象一下,如果您有一家电子商务公司,那么另一个网站可以使用自己的外观来进行所有交易,但都得到您的支持,对您而言,这最终是一件好事,因为您最终将获得金钱,但品牌将遭受损失它的“认可”。 另一个问题可能是该网站是否将发送的有效负载更改为您的后端,以进行诸如更改传递地址之类的操作。 背后的想法只是不授权未知网站使用您的API并将其结果显示给用户。
答案 2 :(得分:-1)
您可以使用hosts文件将127.0.0.1映射到您的域名“ dev.mydomain.com”,因为您不希望使用Access-Control-Allow-Origin:*。