今天帮现场实施处理Tomcat + Apache2.2部署问题,在这里记录一下请求转发的配置:
参考下面这篇文章,我使用的是最简单的mod_proxy方式来配置, 这种方式只需要修改apache的配置文件即可
http://21nw.com/wap/index-wap2.php?p=10800
服务器环境:
- Apache Httpd 2.2, IP地址: 10.2.1.18:9090
(80端口被Plone占用)
- Tomcat 6.0, IP地址: 10.2.1.104:8080
- 操作系统: 两台机器都是WinXp
- 待转发的项目名称: biandan_bj
, 这样直接访问tomcat的地址是: http://10.2.1.104
:8080/biandan_bj
配置说明:
- 修改Apache\conf
目录下的 httpd.conf 文件, 去掉如下两行的注释 (前面的 “#”字符):
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
- 在httpd.conf文件最后加上如下两行配置:
ProxyPass /biandan_bj http://10.2.1.104:8080/biandan_bj
ProxyPassReverse /biandan_bj http://10.2.1.104:8080/biandan_bj
配置完成后访问: http://10.2.1.18:8080/biandan_bj 即可将请求转发到 10.2.1.104的 tomcat 上
注意:
ProxyPass 和 ProxyPassReverse 必须成对出现,否则在页面跳转时会从10.2.1.18转到10.2.1.104上。现场实施只配了ProxyPass,因此出错。
P.S:配置方法的弊端
这种代理方式有一个很致命的问题。jsp中不能使用根据request获取的绝对路径,必须使用当前页的相对路径,例如eclipse创建jsp页面是会自动生成如下代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
这里的path和basePath都不能使用。通过request获取的ServerName是tomcat主机的ip/hostname。如果采用如下方式引入资源,肯定会造成资源无法访问的问题:
<link rel="stylesheet" href="<%=path%>/css/dy-ui.css">
<script type="text/javascript" src="<%=path%>/js/preTaskList.js"></script>
分享到:
相关推荐
apache tomcat mod_proxY参数
基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置
window下完整的apache+mod_jk或mod_proxy+tomcat配置方案,用于负载均衡及动静态页面分离。里面包含有相对应版本的apache、tomcat、mod_jk,已经多个参考文档
Mod_Proxy+Apache+Tomcat负载均衡与集群配置,比较详细的配置资料。
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用...
下面是实现2个tomcat实现负载均衡,如果只有一个则可删除一个 apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。 修改apache配置文件httpd.conf 启用mod_proxy_ajp 代码如下: #LoadModule ...
apache服务器和tomcat服务器之间实现URL代理的module.so工具类文件
1. 配置httpd.conf 使用apache自带的proxy模块,去掉注释使其可用 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module ...
NULL 博文链接:https://kakaluyi.iteye.com/blog/759637
LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module ...
在Apache中通过mod_proxy_ajp模块发送AJP数据,另外一端的服务器需要实现AJP协议,能够接受mod_proxy_ajp模块发送的AJP协议数据,在接受到AJP协议数据后做适当处理,并能够将处理结果以AJP协议方式发送回给mod_proxy_...
Apache2.4+tomcat7.0.73实现负载均衡以及session共享复制。 包括mod_proxy代理、mod_jk两种方式。 文件包括已经实现的配置以及对应的文件
Redhat_Linux中JDK的卸载和安装 Redhat_Linux搭建FTP服务 Redhat安装Apache和SVN Mod_Proxy+Apache+Tomcat负载均衡与集群配置 Redhat_linux创建FTP用户(含-SELinux简介)
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用...
完全可以下载部署,本人真正手写,请需要的可以下载使用,
1,tomcat8的配置: 1.1修改tomcat8.x/conf/context.xml的配置如下: <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file ...
对apache与tomcat的集群配置进行了详细的描述。 基础篇:系统部署、集群配置、集群方式; 晋级篇:正向与反向代理、访问控制、均衡策略之ProxyPass、均衡策略之ProxyPassReverse、代理struts2工程、PROXY_HTTP与...
在配置前端Apache服务器和后端Tomcat服务器通信时需要用到的配置文件。需要搭配mod_proxy一块使用。在Apache中更改workers.properties、uriworkermap.properties的配置。Add Type MIME属性。
1.Java基础知识讲解2.Tomcat的安装和实现3.通过apache的mod_proxy模块代理并实现Tomcat负载均衡4.基于Tomcat集群的网上商城
自己整理的技术文档,里面许多都是自己实践过的; 耗费了好几个星期,才整理完成!!! 1、Virtualbox安装centos 5.4图解参考一......讨论篇:Apache+Tomcat 集群负载均衡 mod_proxy模式.... 201 讨论篇:网站静态化