nginx+tomcat 架構 HttpServletRequest.getScheme()獲取正確的協議


問題:通過瀏覽器輸入https://www.mysite.com,后台通過request.getScheme()獲取到的確實http而不是https

通過request.getRequestURL()拿到的也是http://www.mysite.com

分析原因,是因為用nginx+tomcat部署web服務,tomcat接受到的請求都是來自於nginx的http請求。

解決辦法:在nginx 配置location處加上 proxy_set_header X-Forwarded-Scheme  $scheme;

如:

 

最后一項!

后台通過 request.getHeader("X-Forwarded-Scheme") 獲取真實協議scheme

 


免責聲明!

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



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