Apache配置正向代理和反向代理的方法
1、这里介绍的是Apache2.2,仅适用于Apache2.2,Apache2.4配置后会无法启动!——该方法已经亲身测试!
2、正确安装Apache2.2后,修改httpd.conf文件,新增:Loa蟠校盯昂dModule proxy_module modules/mod_proxy.so 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配置文件httpd.conf中都有,只不过被注释掉了,只需要去掉注释即可
3、另外还需要在httpd.conf文件中增加配置:Include conf/extra/httpd-vhosts.conf引入vhost文件,否则配置的代理不能加载
4、如果你想监听别的端口, 修改Listen参数,可以监听多个端口,例子中监听的是80端口
5、相应的,在httpd.conf文件监听的端口要在httpd-vhosts.conf文件里写上,监听了80端口就写上80,还监听了81端口,也要写上81端口NameVirtualHost表示vhost匹配的请求的ip和端口那些会取扫描vhost
6、以上配置不管是反向代理还是正向代理都要进行配置,下面说一下如果进行正向代理,配置 httpd-vhosts.conf
7、解释一下:<VirtualHost *:80>代表的意思:VirtualHost 后面的参数表示的是该VHost的IP/域名/和端口,此处表示的就是监募踪庞歌听所有80端口的请求, 但是由于ServerName里写了www.test.com, 所以这个vhost匹配的是www.test.com:80,
8、可以如下进行配置 :(1) IP: port, 例如<VirtualHost 175.2.22.65:8088>, 访问的时候通过IP访问
9、(2) Domain, 例如 <VirtualHost www.test1.com>, 访问的时候通过域名访问, 也可以指定里面的ServerName来指定域名
10、(3) *, 表示匹配所有对Apache监听主机的请求, 只要是apache监听到的请求都可以匹配该虚拟主机
11、现在看正向代理设置那一段ProxyRequests On:开启Apache正向代理ProxyVia On:控制位于代理服务器链中的代理请求的流向
12、引用Apache2.2官方文档中对ProxyVia的解释如下:如果设置为默认值Off,将不会采取特殊的处理。如果一邗锒凳审个请求或应答包含"Via:"头,将不进行任何修改而直接通过。如果设置为On每个请求和应答都会对应当前主机得到一个"Via:"头。如果设置为Full,每个产生的"Via:"头中都会额外加入Apache服务器的版本,以"Via:"注释域出现。如果设置为Block,每个代理请求中的所有"Via:"头行都将被删除。且不会产生新的"Via:"头。<Proxy *>...</Proxy>:用来控制谁可以访问你的代理
13、下面进行反向代理配置,看下配置文件:
14、解释一下具体含义ProxyPass /portal http://10.12.1.80:8083/portal : 将 http多唉捋胝://10.12.1.80:8083/portal 域下的所有请求转发给 http://10.12.1.80:8083/portal 代理,ProxyPassReverse /portal http://10.12.1.80:8083/portal。那么在重定向的时候,Apache会将HTTP请求重新设定