NGiNX - 没有返回足够的 headers 错误(4xx,5xx)与成功(2xx)

NGiNX - Not returning sufficient headers for error(4xx, 5xx) Vs Success(2xx)

朋友们大家好,

我从 angular 的角度独立地问 a question 同样的 context

请参考我的 NGiNX 服务器 configuration .

我正在调整的是,每当我的 Angular 应用的 REST 请求 成功 (200) returns from server(where NGiNX installed) 在这种情况下 NGiNX returns sufficient headers 连同 response & 我能够成功处理它 Vs Error request/response.

特殊情况是,我无法获得request status例如,如果我的APIreturn401, 400, 500..除了200在这种情况下我的angular App 得到 http response-status 作为“Zero(0)”,而不管 return 是什么服务器。我的主要假设是由于 CORS 问题(主要是所有建议修复)或一些隐藏的(对我来说)。

在Angular中我可以看到下面的东西(参考screen-shot),

My assumption is, if CORS issue then my 200 request response must also not server. so my guess is CORS I have configured correctly.

任何帮助将不胜感激!

注意-

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

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

add_header <header_name> <value> always

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

Adds the specified field to a response header provided that the response code equals 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), or 308 (1.13.0)… If the always parameter is specified (1.7.5), the header field will be added regardless of the response code.