NGiNX - 未返回足够的错误标头(4xx、5xx)与成功(2xx)

vis*_*era 3 nginx cors server angular cors-anywhere

大家好,

我独立地从同样的角度提出了一个问题contextangular

请参考我的NGiNX服务器配置

我正在分阶段进行的是,每当我的Angular应用程序的REST请求成功200)从服务器(安装位置NGiNX返回时,在这种情况下NGiNX都会返回& 我能够成功处理它错误请求/响应。sufficient headersresponse

特殊情况是,我无法获取request status. 例如,如果我的 API 返回401, 400, 500.. 除 200 以外的值,在这种情况下,无论服务器返回什么,我angular App都会得到http response-statusZero(0) ”。我的主要假设是由于问题 CORS(主要是建议修复)或一些隐藏的问题(对我来说)。

在 Angular 中,我可以看到以下内容(请参阅屏幕截图), 在此输入图像描述

我的假设是,如果 CORS 问题,那么我的 200 请求响应也一定无法服务器。所以我的猜测是 CORS 我已经正确配置了。

如有任何帮助,我们将不胜感激!

笔记 -

  1. 我很困惑这是NGiNX问题的一面还是Angular一面。这就是为什么我在不同的标签下问同样的问题(Angular, Nginx)。
  2. 我还在服务器端实现了SSL 。所以也请考虑一下这种情况。

sid*_*ker 5

要将标头添加到 4xx 和 5xx 错误: 设置标头时,必须使用参数always

\n\n
add_header <header_name> <value> always\n
Run Code Online (Sandbox Code Playgroud)\n\n

请参阅http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header处的文档:

\n\n
\n

将指定字段添加到响应标头,前提是响应代码等于 200、201 (1.3.10)、204、206、301、302、303、304、307 (1.1.16、1.0.13) 或 308 (1.13) .0)\xe2\x80\xa6 如果always指定了该参数(1.7.5),则无论响应代码如何,都会添加标头字段。

\n
\n