Nginx

如果服務返回錯誤,Nginx 服務跨域請求失敗

  • September 27, 2018

我正在我的網路應用程序中發出跨域請求。

我已經在 Nginx 上設置了 CORS 標頭。一切正常,除非服務返回 404、400、500 等錯誤,而不是接收錯誤程式碼,服務失敗並顯示Origin *********** is not allowed by Access-Control-Allow-Origin.

任何想法為什麼會發生這種情況?

這就是 nginx 設置的樣子;

location /api {
   add_header Access-Control-Allow-Origin *;
}

不幸的是add_header,它不適用於 200、204、301、302 或 304 以外的狀態碼。您可以在此處的文件中找到它。

你也許可以使用這個外掛來做你想做的事:

https://www.nginx.com/resources/wiki/modules/headers_more/

您可以使用從 nginx 1.7.5 開始的always指令(* 功能:“add_header”指令的“always”參數。)

add_header 'Access-Control-Allow-Origin' '*' always;

引用自:https://serverfault.com/questions/431274