Chrome从服务器打破Cors头

时间:2015-03-05 19:20:02

标签: angularjs google-chrome firefox nginx cors

上下文 我在nginx上运行了一个Rails API。 AngularJS前端直接从该API消耗。这两个应用程序都在不同的域中生产。

我与科尔斯打过几场比赛并输掉了大部分比赛。最后,我了解到您可以在nginx而不是后端配置Cors,请参阅here (1)here (2)

我完全按照1说的那样做了工作

在Chrome上:我可以毫无问题地进入我的AngularJS。当我手动刷新页面时,一切都会混乱,出现XMLHttpRequest cannot load http://domain/resource. No 'Access-Control-Allow-Origin' ....错误。

在Firefox上:一切都像魅力一样,刷新与否。

现在,我将方法从1更改为2,看看我是否可以修复Chrome方案。这是设置add_header "Access-Control-Allow-Origin" $http_origin;,其中列出了请求允许的内容的任何URL。我没有遇到任何特殊问题,因为API已经过完全身份验证。

改变方法后,Chrome仍然在手动刷新时抱怨Access-Control-Allow-Origin。这需要解决,因为我无法阻止用户刷新页面,或使用Firefox而不是Chrome。

有什么想法吗?

修改 经过更多的研究,这个cors错误只发生在我运行Angular App的本地版本时(也从API中消耗)

如果我尝试在生产版本中生成相同的错误,并且它没有发生,这很好。但我想知道为什么会发生这种情况。

0 个答案:

没有答案