Ubuntu下Apache反向代理设置

来源:互联网 发布:glibc源码 编辑:程序博客网 时间:2024/05/18 02:23
Apache可通过mod_proxy*.so系列模块很好的实现正向、反向代理功能,亦可通过反向代理实现负载均衡,本文将讲述基于Apache反向代理实现负载均衡的配置方法。

 

1、环境配置说明:

代理服务器域名:ap.proxy

web server 1 ip:192.168.195.18 port:80

web server 2 ip:192.168.195.19 port:80

backup server ip:192.168.195.20 port:80

 

2、确认开启模块:mod_proxy, mod_proxy_balancer, mod_proxy_http

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so

 (可通过指令开启:a2enmod proxy proxy_http proxy_balancer)

3、简单反向代理设置:
<VirtualHost *:80>
    ServerAdmin admin@admin.com
    ServerName ap.proxy
    ProxyRequests Off
    ProxyMaxForwards 100
    ProxyPreserveHost On
    ProxyPass / http://192.168.195.18/
    ProxyPassReverse / http://192.168.195.18/
   
    <Proxy *>
        Order Deny,Allow
        Allow from all
    </Proxy>
</VirtualHost>

 

4、反向代理实现负载均衡:
<VirtualHost *:80>
    ServerAdmin admin@admin.com
    ServerName ap.proxy
    ProxyRequests Off    #开启反向代理
    Proxypass / balancer://proxy/
    <Proxy balancer://proxy>
        Order Deny,Allow
        Allow from all
        BalancerMember http://192.168.195.18 loadfactor=3    #web server 1, loadfactor--负载比例分配
        BalancerMember http://192.168.195.19 loadfactor=1    #web server 2,  loadfactor--负载比例分配
        BalancerMember http://192.168.195.20 status=+H       #backup server
       
        #负载分配算法
        #lbmethod=byrequests 按照请求次数均衡(默认)
        #lbmethod=bytraffic 按照流量均衡
        #lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
        ProxySet lbmethod=bytraffic   
    </Proxy>
</VirtualHost>

更多设置项:请参考apache手册……

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=另一篇文章-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

环境是Ubuntu 9.04, 首先当然是安装Apache2。

 

1. 进入mod_availables下拷贝proxy.conf, proxy.load, proxy_http.load到mod_enables下

2. 配置:

         编辑proxy.conf:

                ProxyRequests Off

          <Proxy *>
            Order deny,allow
            Allow from all
         
</Proxy>

          ProxyPass /foo http://foo.example.com/bar
          ProxyPassReverse /foo http://foo.example.com/bar

只需要对应的修改上述的url即可。如果需要使用二级代理则使用ProxyRemote命令。具体的说明可以参见:

http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/mod/mod_proxy.html


0 0
原创粉丝点击