Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
背景: 我的后端使用了 Django
+ corsheaders
允許跨域, 而昨天同事在配置 Nginx
時, 將整個 server
塊都添加了跨域支持, 也就是在同一個響應報文里, Access-Control-Allow-Origin
頭被設置了兩次(corsheaders
設置一次, 在nginx
中又被設置了一次), 也就成為了多值(本應該是'*'
, 實際返回的是'*, *'
), 導致瀏覽器禁止跨域.
解決方案就是把 Nginx
中的 add_header Access-Control-Allow-Origin *;
指令, 應用在同事的 location
塊而非整個 server
塊, 恢復正常.