我使用FOSRestBundle和Nelmio Cors Bundle并且有一些端点,/ api / name_end_points,我需要一些服务器有权调用这个端点。 现在我在控制台中有错误
XMLHttpRequest cannot load http://mydomain.com.com/api/endpoint?value=test&value1=test. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:3000' is therefore not allowed access.
这是我的配置:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
formats:
xml: true
json : true
templating_formats:
html: true
force_redirects:
html: true
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
routing_loader:
default_format: json
nelmio_cors:
defaults:
allow_credentials: false
allow_origin: []
allow_headers: []
allow_methods: []
expose_headers: []
max_age: 0
hosts: []
origin_regex: false
paths:
'^/':
allow_origin: ['*']
allow_headers: ['*']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
如果我希望某些服务器的端点访问为true,如何更正配置NelmioCorsBundle?喜欢这个
allow_origin: ['*aog.jobs*', '*localhost*']
并删除默认值?
答案 0 :(得分:1)
您需要明确声明允许通过复制Origin
请求标头的值来访问资源(如Origin
请求标头中所指定)进入Access-Control-Allow-Origin
回复标题(而不是硬编码*
)。
在您这样做之前,请确保您想要全局访问这个(或者对Origin
标题的值执行测试以确保它没问题。)