反向代理有很多实现方式,本文主要讲述Apache的反向代理。
1、简述
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
下图就是一个简单的反向代理过程
2、配置
(1)首先确保Apache有这些模块,在Apache根目录下确认有这些模块,主要包含以下模块:
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_http.so
打开配置conf/httpd.conf文件,将这些模块的注释去除,如下图所示:
(2)修改配置文件,打开文件 conf/httpd.conf ,在文件末尾加上如下配置:
#反向代理
ProxyRequests Off
ProxyPass /clusterDemo http://127.0.0.1:8081/clusterDemo
ProxyPassReverse /clusterDemo http://127.0.0.1:8081/clusterDemo
ProxyPass /clusterDemo2 http://127.0.0.1:8082/clusterDemo2
ProxyPassReverse /clusterDemo2 http://127.0.0.1:8082/clusterDemo2
ProxyPass /clusterDemo3 http://127.0.0.1:8083/clusterDemo3
ProxyPassReverse /clusterDemo3 http://127.0.0.1:8083/clusterDemo3
#8888为apache的监听端口
<proxy http://127.0.0.1:8888>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>
(3)测试
启动apache和对应的tomcat。
在浏览器上输入地址:http://127.0.0.1:8888/clusterDemo/index.jsp
在浏览器上输入地址:http://127.0.0.1:8888/clusterDemo2/index.jsp
地址栏中请求的应用能正确访问表示,Apache的反向代理请求转发成功!!!