【发布时间】:2014-07-29 23:01:43
【问题描述】:
我在 Nginx 上运行 CORS 时遇到了一个奇怪的问题,CORS 在所有情况下都可以正常工作,但只有一种情况是服务器响应 403 http 响应。
基本上,当我使用正确的凭据登录时,cors 请求可以正常工作,但是当我提供错误的登录凭据时,服务器(后端)会以 403 状态响应,并且出现以下错误
"NetworkError: 403 Forbidden - @987654321@"
login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at @987654322@. This can be fixed by moving the resource to the same domain or enabling CORS.
如果凭据正确,我不会收到此错误,并且一切正常。
我已经完成了启用 CORS 的配置,它似乎对其他一切都运行良好。
以下是请求标头
请求标头
User-Agent:Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0
Referer:@987654323@
Pragma: no-cache
Origin: @987654324@
Host: www.mydomain.com
Content-Type: application/json;charset=utf-8
Content-Length: 74
Connection: keep-alive
Cache-Control: no-cache
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Accept: application/json, text/plain, /
响应标头
Server: nginx/1.4.1
Date: Tue, 10 Jun 2014 05:28:30 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 76
Connection: keep-alive
【问题讨论】:
-
也许粘贴请求和响应标头将有助于回答您的问题
-
@Marcel 我已经用请求和响应标头更新了帖子
-
这看起来不是问题,RESTFUL API 意味着如果您输入错误的凭据,它会响应 403,这是应该的。
-
@Marcel 绝对,问题是当服务器响应 403 时,我开始在萤火虫控制台上收到 CORS 错误。
-
粘贴的标头中没有与 CORS 相关的标头。
标签: nginx cors http-status-code-403