Tomcat獲取Nginx反向代理的客戶端域名
問題
Nginx反向代理之后,Tomcat應(yīng)用通過request.getHeader("host")
取到的是Nginx的host,并非客戶端瀏覽器地址欄上的真實(shí)域名。
例如在某一臺(tái)服務(wù)器上,Tomcat的端口號(hào)為8080,Nginx的端口號(hào)為80,Nginx反向代理8080端口。
server { listen 80; location / { proxy_pass http://127.0.0.1:8080; } }
在另一臺(tái)機(jī)器上用瀏覽器打開http://haha/test
訪問Tomcat下的應(yīng)用,獲取客戶端域名。
System.out.println(request.getHeader("host"));
結(jié)果是:
localhost:8080
問題產(chǎn)生的原因
Nginx的反向代理實(shí)際上是客戶端和真是的應(yīng)用服務(wù)器之間的一個(gè)橋梁,客戶端(一般是瀏覽器)訪問Nginx服務(wù)器,Nginx再去訪問Web應(yīng)用服務(wù)器。對于Web應(yīng)用來說,這次HTTP請求的客戶端是Nginx而非真實(shí)的客戶端瀏覽器,如果不做特殊處理的話,Web應(yīng)用會(huì)把Nginx當(dāng)做請求的客戶端,獲取到的客戶端信息就是Nginx的一些信息。
問題解決
Nginx配置HTTP Header。Host包含客戶端真實(shí)的域名和端口號(hào)
proxy_set_header Host $http_host;
Tomcat從Nginx傳遞過來的HTTP Header中獲取客戶端信息。
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- Nginx+Tomcat反向代理與負(fù)載均衡的實(shí)現(xiàn)
- Nginx反向代理轉(zhuǎn)發(fā)tomcat的實(shí)現(xiàn)
- nginx https反向代理tomcat的2種實(shí)現(xiàn)方法
- 詳解Linux中Nginx反向代理下的tomcat集群
- 詳解Nginx反向代理到Tomcat服務(wù)器
- 詳解Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南
- 簡單實(shí)現(xiàn)nginx+tomcat的反向代理與動(dòng)靜分離
- Nginx為Tomcat服務(wù)器作反向代理的配置教程
- nginx+tomcat實(shí)現(xiàn)多級(jí)反向代理的示例代碼
相關(guān)文章
Windows如何設(shè)置定時(shí)重啟Tomcat
本文主要介紹了Windows如何設(shè)置定時(shí)重啟Tomcat,可以使用Windows系統(tǒng)的計(jì)劃任務(wù)程序,在這里設(shè)置定時(shí)執(zhí)行的.bat批處理文件,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01cemtos 7 linux 安裝與卸載 tomcat 7的教程
這篇文章主要介紹了cemtos 7 linux 安裝與卸載 tomcat 7的教程,需要的朋友可以參考下2017-10-10實(shí)現(xiàn)將Web應(yīng)用部署到Tomcat根目錄的三種方法
本篇文章主要介紹了實(shí)現(xiàn)將Web應(yīng)用部署到Tomcat根目錄的三種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05tomcat jenkins 遷移的實(shí)現(xiàn)步驟
由于測試和生產(chǎn)環(huán)境中的Jenkins出現(xiàn)頻繁錯(cuò)誤,我們嘗試在阿里云上進(jìn)行Jenkins遷移,安裝過程是使用Tomcat進(jìn)行安裝部署,本文就來詳細(xì)的介紹一下遷移步驟,感興趣的可以了解一下2024-11-11在Win10上安裝Tomcat服務(wù)器及配置環(huán)境變量的詳細(xì)教程(圖文)
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的 Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,本文主要講述Windows環(huán)境Tomcat服務(wù)器安裝與環(huán)境變量配置,感興趣的朋友跟隨小編一起看看吧2019-11-11tomcat部署web應(yīng)用的4種方法總結(jié)(推薦)
本篇文章主要介紹了tomcat部署web應(yīng)用的方法,主要有4中方法,包括Tomcat自動(dòng)部署、控制臺(tái)進(jìn)行部署、增加自定義的Web部署文件、手動(dòng)修改%Tomcat_Home%\conf\server.xml文件來部署web應(yīng)用,有興趣的可以了解一下。2016-11-11Tomcat請求的資源[/XXX/]不可用問題解決方法(適合小白)
這篇文章主要給大家介紹了關(guān)于Tomcat請求的資源[/XXX/]不可用問題解決方法,文中介紹的方法非常適合小白,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01一文搞懂如何部署啟動(dòng)多個(gè)tomcat并移植項(xiàng)目
本文給大家介紹部署啟動(dòng)多個(gè)tomcat并移植項(xiàng)目的操作方法,本文給大家介紹的非常詳細(xì),包括修改配置文件的方法也給大家列舉出來了,具體內(nèi)容詳情跟隨小編一起看看吧2021-06-06tomcat實(shí)現(xiàn)多war包部署的方法步驟
本文主要介紹了tomcat實(shí)現(xiàn)多war包部署的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08