Tomcat获取Nginx反向代理的客户端域名

 更新时间:2018年12月12日 09:46:37   作者:灰灰是菇凉呀  
今天小编就为大家分享一篇关于Tomcat获取Nginx反向代理的客户端域名,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

问题

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

问题产生的原因

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" />

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Windows如何设置定时重启Tomcat

    Windows如何设置定时重启Tomcat

    本文主要介绍了Windows如何设置定时重启Tomcat,可以使用Windows系统的计划任务程序,在这里设置定时执行的.bat批处理文件,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • cemtos 7 linux 安装与卸载 tomcat 7的教程

    cemtos 7 linux 安装与卸载 tomcat 7的教程

    这篇文章主要介绍了cemtos 7 linux 安装与卸载 tomcat 7的教程,需要的朋友可以参考下
    2017-10-10
  • 实现将Web应用部署到Tomcat根目录的三种方法

    实现将Web应用部署到Tomcat根目录的三种方法

    本篇文章主要介绍了实现将Web应用部署到Tomcat根目录的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 关于如何将tomcat卸载干净记录

    关于如何将tomcat卸载干净记录

    Tomcat软件自带卸载工具无法将自身卸载干净,卸载后注册表、服务项仍然存在,导致后续安装的新版本Tomcat无法正常使用,这篇文章主要给大家介绍了关于如何将tomcat卸载干净的相关资料,需要的朋友可以参考下
    2023-06-06
  • tomcat jenkins 迁移的实现步骤

    tomcat jenkins 迁移的实现步骤

    由于测试和生产环境中的Jenkins出现频繁错误,我们尝试在阿里云上进行Jenkins迁移,安装过程是使用Tomcat进行安装部署,本文就来详细的介绍一下迁移步骤,感兴趣的可以了解一下
    2024-11-11
  • 在Win10上安装Tomcat服务器及配置环境变量的详细教程(图文)

    在Win10上安装Tomcat服务器及配置环境变量的详细教程(图文)

    Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,本文主要讲述Windows环境Tomcat服务器安装与环境变量配置,感兴趣的朋友跟随小编一起看看吧
    2019-11-11
  • tomcat部署web应用的4种方法总结(推荐)

    tomcat部署web应用的4种方法总结(推荐)

    本篇文章主要介绍了tomcat部署web应用的方法,主要有4中方法,包括Tomcat自动部署、控制台进行部署、增加自定义的Web部署文件、手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用,有兴趣的可以了解一下。
    2016-11-11
  • Tomcat请求的资源[/XXX/]不可用问题解决方法(适合小白)

    Tomcat请求的资源[/XXX/]不可用问题解决方法(适合小白)

    这篇文章主要给大家介绍了关于Tomcat请求的资源[/XXX/]不可用问题解决方法,文中介绍的方法非常适合小白,文中介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • 一文搞懂如何部署启动多个tomcat并移植项目

    一文搞懂如何部署启动多个tomcat并移植项目

    本文给大家介绍部署启动多个tomcat并移植项目的操作方法,本文给大家介绍的非常详细,包括修改配置文件的方法也给大家列举出来了,具体内容详情跟随小编一起看看吧
    2021-06-06
  • tomcat实现多war包部署的方法步骤

    tomcat实现多war包部署的方法步骤

    本文主要介绍了tomcat实现多war包部署的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论