濮阳杆衣贸易有限公司

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

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

熱門標(biāo)簽:申請400電話價格多少 涪陵商都400電話開通辦理 廈門營銷外呼系統(tǒng)平臺 柳州市機(jī)器人外呼系統(tǒng)報(bào)價 安陽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í)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(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)民參考!
  • 推薦文章
    顺义区| 安康市| 新野县| 红桥区| 乌鲁木齐市| 全州县| 荆州市| 贵溪市| 安新县| 南江县| 安远县| 延安市| 洪江市| 黑河市| 团风县| 天门市| 吐鲁番市| 东台市| 赣州市| 建始县| 江永县| 白玉县| 那曲县| 高州市| 崇阳县| 丰顺县| 湖南省| 天门市| 庆元县| 洮南市| 鹿泉市| 九寨沟县| 东乡县| 辽源市| 海口市| 定兴县| 靖远县| 班戈县| 阳曲县| 福建省| 邳州市|