我有一个前端AngularJS应用程序,它使用Symfony 3中编写的后端API。我正在使用Symfony HTTP Cache加速我的一些重要响应。
我正处于测试阶段,因此我的后端API增加了
Access-Control-Allow-Headers:"*"
对所有回复。
但是,缓存的响应存在问题。在标题中,Access-Control-Allow-Headers:"*"
被Access-Control-Allow-Headers:"example.com"
覆盖,其中example.com
是在缓存之前请求资源的客户端地址。
因此,如果我在地址www.example.com
而不是地址example.com
上打开我的前端应用,我会在萤火虫中看到以下错误
XMLHttpRequest cannot load https://backend.com/tests/all.
The 'Access-Control-Allow-Origin' header has a value 'http://example.com'
that is not equal to the supplied origin.
Origin 'http://www.example.com' is therefore not allowed access.
我使用的是NelmioCorsBundle,它为我的Symfony3应用程序添加了CORS头支持。
答案 0 :(得分:2)
尝试在配置中设置forced_allow_origin_value: *
:
nelmio_cors:
defaults:
…
forced_allow_origin_value: *
默认情况下,
Access-Control-Allow-Origin
响应标头值为Origin
请求标头值(如果它符合您的规则) 用allow_origin
)定义,因此对于大多数使用它应该没问题 案例。如果不是,您可以通过设置来覆盖此行为 使用forced_allow_origin_value
确切的值。
因此,要发送Access-Control-Allow-Origin: *
,您想要的确切值就是*
。