haproxy代理配置

一、安装 

192.168.1.128    代理机

192.168.1.129    后端web

192.168.1.130    后端web



# yum install gcc

# wget http://pkgs.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.8.3.tar.gz/sha512/6118ccbcfe07d96c2cce1a78c30db9c428f8b64e64fc3f5660392a501ecbaefdc5b10bea2f65c6bb3d8e7763b3e17db4ee34e13f689474f8243b52250e212600/haproxy-1.8.3.tar.gz


# tar xf haproxy-1.8.3.tar.gz

# cd haproxy-1.8.3

# make TARGET=linux2628 PREFIX=/data/haproxy

# make install PREFIX=/data/haproxy

cp /data/haproxy/sbin/haproxy /usr/sbin/

cp ./examples/haproxy.init /etc/init.d/haproxy

chmod 755 /etc/init.d/haproxy


#创建系统账号

 useradd -r haproxy



二、配置syslog

vim /etc/rsyslog.conf

$ModLoad    imudp

$UDPServerRun    514

local3.*                        /var/log/haproxy.log


配置haproxy配置文件

vim /etc/haproxy/haproxy.cfg

#全局配置

global

#设置日志

log 127.0.0.1 local3 info

chroot /data/haproxy

#用户与用户组

user haproxy

group haproxy

#守护进程启动

daemon

#最大连接数

maxconn 4000


#默认配置

defaults

log global

mode http

option httplog

option dontlognull

timeout connect 5000

timeout client 50000

timeout server 50000


#前端配置, http_front名称可自定义

frontend http_front

bind *:80

#haproxy的状态管理页面,通过/haproxy?stats来访问

stats uri /haproxy?stats

default_backend http_back


#后端配置, http_back名称课自定义

backend http_back

#负载均衡方式

#source 根据请求源IP

#static -rr 根据权重

# leastconn最少连接者先处理

#uri 根据请求的uri

# url_param 根据请求的url参数

# rdp-cookie 根据cookie(name)来锁定并哈希每一次请求

# hdr(name) 根据HTTP请求头来锁定每一次HTTP请求

# roundrobin 轮询方式

balance roundrobin

#设置健康检查页面

option httpchk GET /index.html

# 传递客户端真实IP

option forwardfor header X-Forwarded-For

# inter 2000 健康检查时间间隔2秒

# rise 3 检测多少次才认为是正常的

# fall 3 失败多少次才认为是不可用的

# weight 30 权重

server node1 192.168.194.129:80 check inter 2000 rise 3 fall 3 weight 30

server node2 192.168.194.130:80 check inter 2000 rise 3 fall 3 weight 30



三、重启服务

systemctl restart rsyslog

service haproxy start


四、haproxyacl规则

frontend http_front
     bind *:80
     stats uri /haproxy?stats
 
     #创建一个acl,is_http_back2是acl的名称,可自定义,用于判断主机名是否为www.back2.com
     acl is_http_back2 hdr_end(host) www.back2.com
     #通过正则判断主机名中是否为bbs.back.com或forum.back.com
     acl is_host_bbs hdr_reg(host) -i ^(bbs.back.com|forum.back.com)
     #判断ua是否为android
     acl is_ua_android hdr_reg(User-Agent) -i android
     #判断主机名开头是否为img.或css.或js.
     acl is_host_static hdr_beg(host) -i img. css. js.
     #判断url路径中是否有/bbs
     acl is_path_bbs path_beg -i /bbs
     #判断url文件结尾
     acl is_php path_end -i .php
     #通过正则判断url中结尾以
     acl is_static_file url_reg -i /*.(css|jpg|png|jpeg|gif)$
     #效果同上
     acl is_static_file2 path_end -i .css .jpg .png .jpeg .gif
 
     #如果主机名是www.back2.com那么就使用后端http_back2
     use_backend http_back2  if  is_http_back2
 
     #默认使用的后端
     default_backend http_back
 
backend http_back
     balance roundrobin
     option httpchk GET /index.html
     option forwardfor header X-Forwarded-For
     server node1 192.168.1.222:8080 check inter 2000 rise 3 fall 3 weight 30
 
backend http_back2
     balance roundrobin
     option httpchk GET /index.html
     option forwardfor header X-Forwarded-For
     server node2 192.168.1.222:8082 check inter 2000 rise 3 fall 3 weight 30


五、web服务器搭建 略....




     本文转自小白的希望 51CTO博客,原文链接:http://blog.51cto.com/haoyonghui/2065032,如需转载请自行联系原作者







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值