Nginx
如果服務返回錯誤,Nginx 服務跨域請求失敗
我正在我的網路應用程序中發出跨域請求。
我已經在 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 以外的狀態碼。您可以在此處的文件中找到它。你也許可以使用這個外掛來做你想做的事:
您可以使用從 nginx 1.7.5 開始的always指令(* 功能:“add_header”指令的“always”參數。)
add_header 'Access-Control-Allow-Origin' '*' always;