文章归档友情连接照片地图

使用ubuntu+apache 反向代理服务器的配置

分类:服务器技术  作者:rming  时间:2011-10-10

什么是反向代理?

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

正向代理却恰前相反

 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器)
适用于: ①局域网的代理服务器(一般是网关,相当于squid的一般用法)
②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理
简单示意图如下
正向代理服务器

ubuntu+apache配置反向代理服务器

其实nginx确实是不错的反向代理服务器软件,但是当你已经使用apache配置好了php服务器,又想尝试下反向代理,这时候你就需要使用带apache的反向代理功能了,下面我们来看下它的配置情况。

首先启用apache的代理模块

sudo  a2enmod proxy
然后在配置主机如下

<VirtualHost *:80> ServerAdmin weiqi@163.com ServerName www.domain.com ServerAlias domain.com
#简单设置方法
ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/
#另一种设置方法
<Location /ubuntu> ProxyPass http://192.168.0.1/ubuntu ProxyPassReverse http://192.168.0.1/ubuntu </Location> </VirtualHost>

到/etc/apache2/mods-available/proxy.conf中开启代理功能
<proxy> Order deny,allow Allow from all </proxy>

//我的配置备份

<VirtualHost *:80>
ServerAdmin rmingwang@gmail.com
ServerName mysdut.com
ServerAlias www.mysdut.com mysdut.com *.mysdut.com
Documentroot /share/Rming
##Proxy config
#ProxyRequests Off
#ProxyMaxForwards 100
#ProxyPreserveHost On
##Proxy http://mysdut.com/youth for http://youthol.cn:3789
##ProxyPassReverse visit_url/[path] dst_url:port[path]
##Example
#ProxyPass /youth http://youthol.cn:3789/
#ProxyPassReverse /youth http://youthol.cn:3789/
ProxyPassReverse / http://youthol.cn:3789/
ProxyPass / http://youthol.cn:3789/
ProxyPass /noproxy !
##where you don't want to reverse-proxy a subdirectory.
#ProxyPass /mirror/foo/i !
</VirtualHost>


  1. :shock: 你现在干嘛呢

    1. Rming Rming

      没干嘛啊 维护服务器。。。

    2. Rming Rming

      @lock dairy,你是?

提交评论