国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 南溪县| 皮山县| 开原市| 铜川市| 佛教| 汾阳市| 呼图壁县| 驻马店市| 霍林郭勒市| 慈利县| 乳山市| 伊春市| 德格县| 上蔡县| 郧西县| 景洪市| 昂仁县| 石台县| 新竹市| 永城市| 静乐县| 平利县| 南部县| 衡南县| 新建县| 永嘉县| 宣化县| 封丘县| 福泉市| 青阳县| 义马市| 雅江县| 闻喜县| 呼和浩特市| 西吉县| 罗江县| 忻城县| 惠来县| 松江区| 永嘉县| 白朗县|