国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

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

2024-08-30 12:30:05
字體:
來源:轉載
供稿:網(wǎng)友

問題

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

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

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

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

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

結果是:

localhost:8080

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

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

問題解決

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

proxy_set_header Host $http_host;

Tomcat從Nginx傳遞過來的HTTP Header中獲取客戶端信息。

<Valve className="org.apache.catalina.valves.RemoteIpValve" />

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網(wǎng)的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 孝义市| 肇源县| 双江| 扎鲁特旗| 东莞市| 信阳市| 土默特左旗| 乾安县| 阜城县| 泾川县| 会昌县| 阆中市| 时尚| 游戏| 梧州市| 沁水县| 车险| 始兴县| 沐川县| 大丰市| 克东县| 中江县| 海城市| 彩票| 镇巴县| 安达市| 昭觉县| 盘山县| 屯昌县| 莎车县| 扶沟县| 蒙城县| 郸城县| 新建县| 沂南县| 阿荣旗| 三明市| 三明市| 绥芬河市| 拉孜县| 西城区|