1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器)
适用于:
①局域网的代理服务器(一般是网关,相当于squid的一般用法)
②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理
2 反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)
适用于:
①idc的某台目标机器只对内开放web,外部的客户端要访问,就让另一台机器做proxy,外部直接访问proxy即相当于访问目标
②idc的目标机器的某个特殊的web服务跑在非正常端口如9000,而防火墙上只对外开放了80,此时可在80上做proxy映射到9000,外部访问80即相当于9000
Apache配置反向代理
操作系统是centos,关于Linux安装apache就不多说了;
apache安装完成后,进入 /etc/httpd/conf目录,打开 httpd.conf文件
然后看下面的几行代码是否打开,如果没有打开,去掉下面代码前面的#
LoadModule 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
第二步:
打开/etc/httpd/conf目录下的httpd.conf,在末尾添加如下代码
<VirtualHost *:80> ServerName www.xxx.cn ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /platform/share http://123.123.123.123/singtec_manager/platform/share ProxyPassReverse /platform/share http://123.123.123.123/singtec_manager/platform/share </VirtualHost>
简单说一下这几个参数
- www.xxx.cn 是服务器使用的域名(这里也可以是服务器的IP地址)
- ProxyPass 与 ProxyPassReverse 后面的『http://123.123.123.123/singtec_manager/platform/share』是需要我们的请求的真正的目的服务器,其前边的 空格+/+空格 也是属于我们配置的一部分
第三步:
重启Apache:service httpd restart
这样,当我们在客户端浏览器中输入http://www.xxx.cn/platform/share时,页面将返回http://123.123.123.123/singtec_manager/platform/share这个页面