您的位置:首页 > 运维架构 > 反向代理

Apache 配置反向代理的两种方式

2012-05-18 10:28 288 查看
Apache 配置反向代理的两种方式

方式一: 通过AJP

1.首先在httpd.conf下加载如下三个文件
LoadModule
proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_module modules/mod_proxy.s

2.
使用proxy_ajp配置代理,在httpd.conf末尾处:

ProxyPass /ttlqc ajp://10.6.XX.XX:8009/qcbin

ProxyPassReverse /ttlqc ajp://10.6.XX.XX:8009/qcbin

注意8009端口要同$Tomcat/conf/server.xml中的AJP Connector端口一致:

3.配置Tomcat中conf/server.xml

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


配置完成后,重启Apache。

方式二:通过Mod_JK

之所以选择这种方式,是因为AJP方式对JSP、Servlet支持不稳定,一旦有动态页面会报错:“/servlet/XXXservlet
was not found on this server.</”



配置过程如下
1.首先在httpd.conf下加载如下一个文件
LoadModule
jk_module modules/mod_jk.so

2.使用配置代理,在httpd.conf末尾处:
jkworkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
jkMount /qcbin/* tomcat

3.新建对应的workers.properties、 mod_jk.log在相应的目录下
Apache的conf目录下手工新建文件 workers.properties、logs目录下会在Apache重启后自动新建mod_jk.log,不用管。

其中worker.properties内容如下:

worker.list=tomcat ----------------对应 httpd.conf中jkMount 里tomcat

worker.tomcat.port=8009------------------目标服务器端口

worker.tomcat.host=10.6.XX.XX----------------------目标服务地址

worker.tomcat.type=ajp13--------------------------协议ajp13

这里还可以配负载均衡等信息,没用到,就不说了。

配置完成后,重启Apache,一切OK!

注意,本来所有关于Apache的配置,应该在Apache的安装目录下进行(比如httpd.conf、worker.properties、以及modules下的lib等),但有时个别服务器会做全局控制导致Apache自身目录配置失效,此时应把注意力、工作量转移到/etc/htppd目录中!

另外,上图中定位问题,使用了一个Http监控工具Fiddler,大家有兴趣可以自己研究。
http://fiddler2.com/Fiddler2/version.asp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: