問題現象:使用charles轉發,將前端請求(ip:port)轉發到預覽機環境(域名),接口出現302;測試過程,轉發到測試環境機器,未出現過此類狀況html
解決:rewrite host爲對應域名,便可訪問前端
緣由:前端頁面請求測試環境IP:port,轉發後,未改變request header,host仍爲IP:port,預覽機機器nginx配置文件指定server_name爲域名形式,沒法匹配,則使用默認配置,處理爲302nginx
以上解決方法爲RD提供,過後想起,梳理之測試
host字段:若未設置,會參考request自動處理;若沒有則會報錯400server
參考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Hosthtm
nginx處理機制:blog
根據port區分後校驗server_name 與host字段,若匹配則進入對應分支;若不匹配則進入默認分支(default標誌或listen第一個分支)接口