NGiNX - не возвращает достаточные заголовки для ошибки (4xx, 5xx) против успеха (2xx) - PullRequest
0 голосов
/ 30 октября 2018

Привет друзья,

Я самостоятельно задаю вопрос в том же context, но с angular взгляде.

Пожалуйста, обратитесь к моему NGiNX серверу конфигурации .

Я выполняю поэтапную обработку, когда запрос REST моего Angular приложения успешно ( 200 ) возвращается с сервера (, где NGiNX установлено ) ) в таком случае NGiNX возвращает sufficient headers вместе с response, и я могу успешно обработать его против ошибка запрос / ответ.

Особый случай, я не могу получить request status. Например, , если мой API возвращает 401, 400, 500.. , за исключением 200 , в таком случае мой angular App получает http response-status как " Ноль (0)"независимо от того, какой сервер возвращает. Мое основное предположение связано с или CORS проблемой (которую все в основном рекомендуют исправить) или какой-то скрытой (для меня).

В Angular я могу видеть вещи ниже (см. Скриншот), enter image description here

Я предполагаю, что если CORS выдает ошибку, мой ответ на 200 запросов также должен не сервер. так что я думаю, что CORS я настроил правильно.

Любая помощь будет очень признательна в продвинутом! ПРИМЕЧАНИЕ -

  1. Я запутался, является ли NGiNX сторона проблемой или Angular сторона. поэтому я задаю один и тот же вопрос под разными тегами (Angular, Nginx).
  2. Я также внедрил SSL на стороне сервера. так что любезно рассмотрите этот случай.

1 Ответ

0 голосов
/ 30 октября 2018

Чтобы добавить заголовки к ошибкам 4xx и 5xx: при установке заголовков необходимо использовать параметр always:

add_header <header_name> <value> always

См. Документы в http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header:

Добавляет указанное поле к заголовку ответа при условии, что код ответа равен 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13) или 308 (1.13.0)… Если указан параметр always (1.7.5), поле заголовка будет добавлено независимо от кода ответа.

...