nginx處理cookie跨域


今天在部署公司項目的時候碰到一個問題

項目地址是xxx.xx.xx.122:7480

項目A后台請求地址為xxx.xx.xx.123:8080/data-sso

開始nginx配置是

 server {
        listen       7480;
        server_name  localhost;
    
          location /data-sso {
		   proxy_pass http://xxx.xx.xx.123:8080/data-sso;
		   proxy_cache_methods POST;
		  }
}

 然后再線上登錄頁面卡住了 一步步查找原因 

 1.登錄頁面進不去的原因是 登錄成功了 但是后台存儲的cookie信息丟失了

    2.通過查找 發現后台把cookie信息存儲到http://xxx.xx.xx.123:8080中,而前端項目地址是xxx.xx.xx.122:7480 ,所以存在cookie跨域 丟失問題

   知道原因了就很好解決了通過度娘才知道需要在代理設置中設置原始的主機地址

  最后配置改為

 server {
        listen       7480;
        server_name  localhost;
    
          location /data-sso {
                   proxy_set_header Host $host;
		   proxy_set_header X-Real-Ip $remote_addr;
		   proxy_set_header X-Forwarded-For $remote_addr;
		   proxy_pass http://xxx.xx.xx.123:8080/data-sso;
		   proxy_cache_methods POST;
		  }
}

 然后線上測試 前端能拿到cookie問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM