1. 程式人生 > >nginx配置跨域之後每次訪問會發送兩次請求

nginx配置跨域之後每次訪問會發送兩次請求

公司專案從前後端不分離轉到前後端分離

首先遇到的問題就是前後端分離的時候跨域的問題

但是當跨域成功配置並且能訪問成功的時候發現

每次客戶端的請求都會發送兩次

第一次是OPTIONS的請求,然後才是正常的請求

查閱資料得到的結論是:

第一個OPTIONS的請求是由Web伺服器處理跨域訪問引發的。

OPTIONS是一種“預檢請求”,瀏覽器在處理跨域訪問的請求時如果判斷請求為複雜請求,則會先向伺服器傳送一條預檢請求,根據伺服器返回的內容瀏覽器判斷伺服器是否允許該請求訪問。如果web伺服器採用cors的方式支援跨域訪問,在處理複雜請求時這個預檢請求是不可避免的。

一句話概括:因為我們公司的token通過header傳遞所以導致了瀏覽器判斷該請求是複雜請求,所以要先通過OPTIONS請求進行預檢查
解決方法
設定Access-Control-Max-Age(指定本次預檢請求的有效期,單位秒)

nginx配置增加

#設定一天的過期時間
add_header Access-Control-Max-Age 86400;
問題解決!

原文:https://blog.csdn.net/qq_35224032/article/details/82179428