Apache的安装与代理配置-linux

Apache虚拟主机正向、反向代理

首先从了解下正向和反向的区别
一、正向代理
客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(在客户端的浏览器中设置代理服务器)
适用于:局域网的代理服务器(一般是网关,相当于squid的一般用法)、访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理



二、反向代理
客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)
适用于: idc的某台目标机器只对内开放web,外部的客户端要访问,就让另一台机器做proxy,外部直接访问proxy即相当于访问目标、idc的目标机器的某个特殊的web服务跑在非正常端口如9000,而防火墙上只对外开放了80,此时可在80上做proxy映射到9000,外部访问80即相当于9000



Proxy功能需要加载Proxy模块,在Linux中Apache加载Proxy模块有两种方式:静态和动态
1. 静态加载在编译Apache时需要加上编译参数--enable-proxy来开启Proxy功能
2. 动态加载方法,首先进入apache源码的目录,然后依次执行如下:
# cd modules/proxy
# /usr/local/apache2/bin/apxs -c -i -a mod_proxy.c proxy_connect.c proxy_http.c proxy_util.c
安装完成后在 /usr/local/apache2/modules目录下会产生相应的模块mod_proxy.so等,最后在httpd.conf里配置
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy.so

最后我们来看下Apache的正向代理和反向代理的配置
apache安装成功以后需要对它的两个配置文件conf/httpd.conf和conf/extra/httpd-vhosts.conf做如下小修改:
把Include conf/extra/httpd-vhosts.conf前面的“#”去掉,然后配置conf/extra/httpd-vhosts.conf
正向代理配置如下
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from www.xtgly.com
</Proxy>

反向代理在虚拟主机中的应用
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.xtgly.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://www.xtgly.com
ProxyPassReverse / http://www.xtgly.com
</VirtualHost>

http://www.360doc.com/content/11/0228/17/834950_96915415.shtml
http://www.360doc.com/content/06/1224/17/6785_305047.shtml

猜你喜欢

转载自timup.iteye.com/blog/1847340