濮阳杆衣贸易有限公司

主頁 > 知識庫 > Tomcat獲取Nginx反向代理的客戶端域名

Tomcat獲取Nginx反向代理的客戶端域名

熱門標(biāo)簽:申請400電話價(jià)格多少 涪陵商都400電話開通辦理 廈門營銷外呼系統(tǒng)平臺 柳州市機(jī)器人外呼系統(tǒng)報(bào)價(jià) 安陽ai電銷機(jī)器人軟件 外呼系統(tǒng)的經(jīng)營范圍 外呼系統(tǒng)不彈窗 智能電話機(jī)器人坐席 云會外呼系統(tǒng)

問題

Nginx反向代理之后,Tomcat應(yīng)用通過request.getHeader("host")取到的是Nginx的host,并非客戶端瀏覽器地址欄上的真實(shí)域名。

例如在某一臺服務(wù)器上,Tomcat的端口號為8080,Nginx的端口號為80,Nginx反向代理8080端口。

server {
  listen 80;
  location / {
    proxy_pass http://127.0.0.1:8080;
  }
}

在另一臺機(jī)器上用瀏覽器打開http://haha/test訪問Tomcat下的應(yīng)用,獲取客戶端域名。

System.out.println(request.getHeader("host"));

結(jié)果是:

localhost:8080

問題產(chǎn)生的原因

Nginx的反向代理實(shí)際上是客戶端和真是的應(yīng)用服務(wù)器之間的一個橋梁,客戶端(一般是瀏覽器)訪問Nginx服務(wù)器,Nginx再去訪問Web應(yīng)用服務(wù)器。對于Web應(yīng)用來說,這次HTTP請求的客戶端是Nginx而非真實(shí)的客戶端瀏覽器,如果不做特殊處理的話,Web應(yīng)用會把Nginx當(dāng)做請求的客戶端,獲取到的客戶端信息就是Nginx的一些信息。

問題解決

Nginx配置HTTP Header。Host包含客戶端真實(shí)的域名和端口號

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)鏈接

標(biāo)簽:福州 巴中 蕪湖 孝感 晉城 南充 撫順 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Tomcat獲取Nginx反向代理的客戶端域名》,本文關(guān)鍵詞  Tomcat,獲取,Nginx,反向,代理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Tomcat獲取Nginx反向代理的客戶端域名》相關(guān)的同類信息!
  • 本頁收集關(guān)于Tomcat獲取Nginx反向代理的客戶端域名的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    三河市| 博罗县| 富平县| 大方县| 报价| 巴塘县| 沂源县| 江西省| 台州市| 二连浩特市| 冕宁县| 上思县| 宝应县| 固阳县| 罗甸县| 天长市| 普格县| 宜都市| 宜兰市| 彭州市| 瓦房店市| 淮南市| 图片| 东山县| 宁明县| 册亨县| 嘉定区| 德庆县| 开原市| 汉源县| 武安市| 马关县| 日土县| 连云港市| 岱山县| 铁岭县| 宜章县| 和政县| 鹤壁市| 宁德市| 黑水县|