搜尋

首頁  >  問答  >  主體

java - 經f5轉發,tomcat使用https協議問題

今天新專案上線,碰到一個問題,公司用f5轉發,使用的世https協議,但是在我們專案裡request.getScheme()取得到的卻是http,維運說是我們程式碼問題.. ..,我查看我們專案的tomcat的serve.xml,發現沒有證書,我想問一下精通這方面問題的小伙伴們,tomcat裡沒有證書,能用https協議嗎?有碰到過這個問題的嗎?怎麼解決的?

过去多啦不再A梦过去多啦不再A梦2763 天前1008

全部回覆(2)我來回復

  • 阿神

    阿神2017-05-27 17:43:49

    https通常是由反向代理(如F5)來完成的(即SSL憑證是配在反向代理上的),而Tomcat本身用的是http協定。

    由於反向代理用了7層轉發,request.getRemoteAddr()不可能得到用户真实IP地址,所以通常在反向代理那边配X-Forwarded-For,Tomcat这边用request.getHeader("X-Forwarded-For")拿到用户真实IP地址)。同样道理,request.getScheme()也不可能得到用户真实的协议,通常会在反向代理那边配X-Forwarded-Proto这种Header,Tomcat这边用request.getHeader("X-Forwarded-Proto")來判斷使用者是否處於https狀態。

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-27 17:43:49

    沒明白你的問題是啥。 。
    tomcat沒配證書怎麼用https?
    f5沒用過,類似的nginx是可​​以做到ssl卸載的,也就是你的應用程式不需要感知https

    回覆
    0
  • 取消回覆