-

Apache反向代理实现负载均衡

Linux

反向代理就是客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样。下面雷雪松主要讲解下Apache反向代理实现负载均衡具体配置。

[cc lang=”vim” escaped=”true”]#需要解开的 .so 文件
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

##负载均衡器的控制信息页面
## http://10.0.101.8:88/balancer-manager 并且只允许 10.0.101.8 的机器访问
<Location /balancer-manager>
SetHandler balancer-manager
order Deny,Allow
Deny from all#拒绝访问
Allow from 10.0.101.8 #允许访问
</Location>

#启用正向(标准)代理请求 Off激活反向代理
ProxyRequests Off

#配置反向代理的模块 loadfactor:分配请求的比例 1–100
<Proxy balancer://mycluster>
BalancerMember http://127.0.0.1:8181 loadfactor=50
BalancerMember http://127.0.0.1:8282 loadfactor=50
#热备,如果8181服务挂掉,apache会自动把请求发送到8282,如果8181恢复服务,apache会把请求发送到8181
#BalancerMember http://127.0.0.1:8282 status=+H
</Proxy>

##配置虚拟主机,用于反向代理局域网机器
<VirtualHost *:80>
#内部的请求 /cerp/ 代理 balancer://mycluster/ 模块的请求
#ProxyPass /cerp/ balancer://mycluster/

#stickysession session的性质,是否具有粘性,值通常是将类似JSESSIONID或PHPSESSIONID,它取决于支持会话的后端应用程序服务器。
#nofailover=On不支持会话复制
#lbmethod 负载均衡的算法,lbmethod可能的取值有:
#lbmethod=byrequests 按照请求次数均衡(默认)
#lbmethod=bytraffic 按照流量均衡
#lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
#maxattempts=1 apache在放弃服务前,尝试的次数

ProxyPass /cerp/ balancer://mycluster/ stickysession=PHPSESSIONID nofailover=On lbmethod=byrequests maxattempts=1

#调整由反向代理服务器发送的HTTP应答头中的URL.
#根据代理打开 balancer://mycluster/ 模块的a.html
#如果点击a.html页面的内部链接(绝对路径另论),需要这个设置将路径修改为代理的路径.
ProxyPassReverse /cerp balancer://mycluster/
</VirtualHost>

#代理HTTP和FTP连接的接收缓冲区大小(字节)
ProxyReceiveBufferSize 2048
#代理超时
ProxyTimeout 300
#转发请求的最大代理数目 默认15,这个设置是为了避免无限代理循环或DoS攻击的发生
ProxyMaxForwards 300[/cc]

来源:Apache反向代理实现负载均衡

2 评论 “Apache反向代理实现负载均衡

    ccc 评论:
    2018年8月24日 下午3:09

    可以啊

    61o 评论:
    2019年5月10日 下午10:03

    哇塞,居然是沙发?留个名

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注