Apache+tomcat

问题描述

系统是用ssh开发的,其中当用户通过Apache访问跳转到tomcat,struts取到的ip值永远是127.0.0.1,直接通过:8080端口访问取到的ip值是正确的,apache 中http.conf配置ProxyPass /images !ProxyPass /css !ProxyPass /js !ProxyPass /cms http://localhost:8080/cms另外还试过跳转<Location /cms>ProxyPass http://localhost:8080/cmsProxyPassReverse http://localhost:8080/cms</Location>jk没试过,看了网上配置都出错较郁闷,请问大家是怎么处理的

解决方案

我也是用apache+tomcat的运行环间,我是用下边的代码取的客户端IP,没发现有错的:)/** * 如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个, * 而是一串Ip值,究竟哪个才是真正的用户端的真实IP呢?答案是取X-Forwarded-For * 中第一个非unknown的有效IP字符串。如:X- Forwarded-For:192.168.1.110, * 192.168.1.120, 192.168.1.130, 192.168.1.100用户真实IP为: 192.168.1.110 * * @param request * @return */public static String getIpAddr(HttpServletRequest request) {String ip = request.getHeader("x-forwarded-for");if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();}return ip;}
解决方案二:
好像都是用jk的多,使用代理转发的方式,肯定得不到原来的IP了。

时间: 2024-11-18 06:22:08

Apache+tomcat的相关文章

Linux下jsp环境:apache,tomcat配置

apache|js Linux下jsp开发环境,apache,tomcat服务器配置过程: (特别注明:本文内容均参考于互联网,经过个人实践而总结,若配置中遇到问题请联系我,可能写的时候漏掉了某些地方,感谢网上前辈的经验,希望更多的实践经验得以共享) 1.操作系统 RedHat Linux 9.0 2.所需软件 Apache 2.0.54 下载地址 http://apache.freelamp.com/httpd 下载该文件httpd-2.0.54.tar.gz Tomcat5.5.9 下载地址

Apache+Tomcat实现Web服务(3)

apache|web|web服务 然后,在Connectors部分嵌入如下内容. <ConnectorclassName="org.apache.tomcat.service.PoolTcpConnector"><Parametername="handler"value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/><Parameterna

优化apache/tomcat配置

apache|优化 近日不得不越那个代疱地钻研发布和发布系统管理和测试的相关问题.有充分证据表明现得绝大多数的apache/tomcat配置中,apache根本就是摆设,所有的响应负担,包括静态多媒体文件实际上是由tomcat完成,而tomcat实际上是效率相当低的,大约是apache的十分之一.因此,没有达到集成两者的目的:但在优化配置本地基本成功,打算在网上测试服务器实际试行时,却碰到了"martix现象":无可解释的不可重复的异常表现.看来,在tomcat/apache的配合上要

Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结

apache|js|mysql|window|服务器 Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结 1.作者:moonsbird 题目:Windows下Apache+Tomcat+MySQL+jsp+php的服务器整合配置经验总结 时间:2004.8.19 最初发表于西南交通大学锦城驿站 2.本文是作者学习几年来学习jsp/配置服务器环境的经验总结.可以转载,但请注明出处. 开始学习jsp很久了,网上有许多关于jsp整合的例子,但存在着许多问题.

Apache+Tomcat负载均衡问题集锦

之前在windows 环境下搭建了下apache+tomcat负载均衡(不会的可以参考之前的文档,文档对于linux和windows都适用),一帆风顺,没有出现任何问题,今天尝试着在linux下搭建了下,其中遇到几个问题,在这里给大家分享下. linux环境,三个redhat6.5 x86_64,其中192.168.1.2安装apache,192.168.1.3和192.168.1.4安装tomcat,这里不再介绍配置,如果有不会的,可以参考前边的文章. 问题一: SESSIONID随着页面刷新

从Apache Tomcat迁移到WebSphere Application Server Liberty Profile

简介 Apache Tomcat 是一个 HTTP 服务器和 servlet 容器,常用于简单的 Web 应用程序,以及使用不需要完整的 Java EE 服务器的框架的应用程序.然而,用户经常会发现,当对 Apache Tomcat 有更多需求时,其最初的简单性就会变得复杂且不实用. 例如,也许 Apache Tomcat 安装的占用空间会变得太大,因为您需要添加第三方库来提供所需的功能.或者,服务器的启动时间也可能是一个问题,因为对 server.xml 文件的任何配置更改都需要重新启动 Ap

教您快速配置Apache+Tomcat+SSL

运行环境:Windows2003 Server SP4 + J2SDK1.5.0 + Apache2.0.54 + Tomcat5.5.9 准备软件: 1.安装 Apache 2.0.54 2.Tomcat 5.5.14 3.Jk2连接器(mod_jk2.so) 一.配置Apache和tomcat Apache安装在d:/Apache2 下,监听端口 80: Tomcat在D:/Tomcat51 下,监听端口 8080: 两者都以windows 2000服务进行安装. 将mod_jk2.so复制

使用Jersey和Apache Tomcat构建RESTful Web服务

RESTful Web 服务简介 REST 在 2000 年由 Roy Fielding 在博士论 文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一. REST 中最 重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识.客户端 应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集. RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务.通常,RESTful Web 服务应该定义

在CentOS中给Apache Tomcat绑定IPv4地址的教程

  今天我们来学习一下如何在CentOS 7 Linux分布式系统中为Tomcat绑定IPv4. Apache Tomcat 是由Apache 软件基金会 开发的开源web服务器和servlet容器.它实现了Java Servlet,JavaServer页面(JSP),Java的统一表达式语言,以及Sun Microsystems的Java的WebSocket规范,并提供了一个运行java代码的web服务器环境. 如果由于tomcat默认绑定到IPv6而导致我们的web服务器不能正常工作,就有必

Mac系统中Apache Tomcat安装配置

Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源.Tomcat无法取访问Appache资源).Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理.对于Apache Tomcat 估计很多童鞋都会,那么今天就简单说下在mac上进行tomcat的安装; 昨天下载了一下Tomcat本以为很快完成,不过还是遇到了一些坑,简单