概要
反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)
适用于:
①idc的某台目标机器只对内开放web,外部的客户端要访问,就让另一台机器做proxy,外部直接访问proxy即相当于访问目标
②idc的目标机器的某个特殊的web服务跑在非正常端口如9000,而防火墙上只对外开放了80,此时可在80上做proxy映射到9000,外部访问80即相当于9000
如例子,实现了访问 baidu.51roadshow.com 的时候,通过http代理直接访问了百度。
<VirtualHost *:80> ServerName baidu.51roadshow.com ServerAlias baidu .51roadshow.com DirectoryIndex index.jsp ProxyPass /http://127.0.0.1:8009/ ProxyPassReverse /http://127.0.0.1:8009/ </VirtualHost> |
1. apache配置简述
apache2.conf核心配置文件,一般不需要修改 conf.d目录,里面包含了一些字符集设置,文档等设置!
dav_svn.authz和dav_svn.passwd是前面做SVN时,相关权限、密码文件。
envvars定义了运行时的用户身份——www-data。
httpd.conf是Apache留给我们自己折腾的配置文件,默认为空。apache2.conf会加载这个文件。
|
2. 启用apache代理模块,只需要启动AJP,因为只用到了AJP
#启用模块 sudo a2enmod <model> #禁用模块 sudo a2dismod <model> #代理核心模块 sudo a2enmod proxy #代理AJP模块 sudo a2enmod proxy_ajp #代理负载均衡模块 sudo a2enmod proxy_balancer #代理HTTP模块 sudo a2enmod proxy_http #代理FTP模块 sudo a2enmod proxy_ftp |
3. apache配置多站点,httpd.conf,test1,和test2被代理转发到了tomcat。
<VirtualHost *:80> DocumentRoot "/var/www/weixin" <VirtualHost *:80> |
4. tomcat配置域名绑定的project, server.xml
把原有的给删了,重新加入两个HOST
<Host name="test1.51roadshow.com" appBase="/home/webapps/test1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Host name="test2.51roadshow.com" appBase="/home/webapps/test2" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> |