<分区>
我正在尝试在 Struts2 中获取客户端 IP 地址。请求通过 Apache Web 服务器路由到 Tomcat 服务器,两个服务器位于同一台物理服务器上。客户端和 Apache 之间的连接是安全的,但 Apache 和 Tomcat 之间的连接不安全。当我尝试获取客户端 IP 地址时,我总是得到 127.0.0.1。我如何从 Apache Web 服务器获取 Struts2/Servlet 中的客户端 IP 地址?
提前致谢!
<分区>
我正在尝试在 Struts2 中获取客户端 IP 地址。请求通过 Apache Web 服务器路由到 Tomcat 服务器,两个服务器位于同一台物理服务器上。客户端和 Apache 之间的连接是安全的,但 Apache 和 Tomcat 之间的连接不安全。当我尝试获取客户端 IP 地址时,我总是得到 127.0.0.1。我如何从 Apache Web 服务器获取 Struts2/Servlet 中的客户端 IP 地址?
提前致谢!
最佳答案
servlet 中客户端的 IP 地址你可以这样得到 -
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
// Proxy
String userIpAddress = httpServletRequest.getHeader("X-Forwarded-For");
if(userIpAddress == null) {
userIpAddress = request.getRemoteAddr();
}
关于java - 如何从 Struts2/Servlet 中的 Apache Web 服务器获取客户端 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806403/
相关文章:
tomcat - Apache Tomcat服务器可以默认运行PHP文件吗?
php - htaccess mod_rewrite 部分 url 到 GET 变量
tomcat - UrlRewriteFilter 相当于 mod_rewrite
java - 通过intellij部署到azure tomcat实例
使用 openssl 函数时 Apache 服务器 (xampp) 崩溃
java - 如何处理使用 Selenium Webdriver 的提示警报
java - 无法锁定 Java 编译缓存,因为它已被此进程锁定
java - 为什么swt(Labels)组件的对齐方式被破坏了?
apache - Docker 消息:由于服务器/代理的响应不正确,自动禁用 Acquire::http::Pipeline-Depth