部署我的 angular5+symfony 应用程序时,我发现了一些错误,无论我的配置是什么,我仍然得到:
跨源请求被阻止:同源策略不允许读取 远程资源位于 http://api-name.real-local-domain.cu/app_dev.php/api/some-url (原因:CORS预检通道未成功)。
问题是路径 /some-url/adicionar (post) 有效,但没有其他效果。我已经按照一些文档在 apache 或虚拟主机中全局设置 CORS 源,但仍然无法工作。
最后这是我的nelmio 配置,它应该允许所有来源
nelmio_cors:
defaults:
allow_credentials: false
allow_origin: []
allow_headers: []
allow_methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS']
max_age: 3600
hosts: []
origin_regex: false
forced_allow_origin_value: ~
paths:
'^/api/':
allow_origin: ['*']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
'^/':
origin_regex: true
allow_origin: ['*']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
hosts: ['^api\.']
有人知道发生了什么吗
与 Ubuntu 16.04 上的 Angular 5+Symfony 3.4.6(fosrest+nelmiocors)+Apache2
已更新
此外,当我访问部署的服务器时,我可以在我的表中看到请求的记录,但其他人看不到。其他人收到 403 代码响应,但通常是收到 CORS 标头问题。
我的应用程序结构:
两个虚拟主机都在 apache/sites-available 下配置了 .conf
您需要吗:
origin_regex: true
在您的
^/api/
部分?
还在您的
^/
部分中,主机指定为:
hosts: ['^api\.']
不应该是:
hosts: ['^api-name\.']