Haproxy的配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Haproxy的配置相关的知识,希望对你有一定的参考价值。

1,下载Haproxy

下载Haproxy 1.6 技术分享

2,安装haproxy

uname -r 

技术分享

cd /usr/local/src/haproxy-1.6.9/

 make TARGET=linux3100 ARCH=x86_64 USE_OPENSSL=1 ADDLIB=-lz

技术分享

make install PREFIX=/usr/local/haproxy

技术分享

配置haproxy

创建这三个目录

技术分享

配置系统日志

vim /etc/rsyslog.conf

技术分享

 

 

[[email protected] haproxy]# vim /etc/rsyslog.conf
[[email protected] haproxy]# cat /etc/sysconfig/rsyslog
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS="-r -m 0 -c 2"

5,重启rsyslog

systemctl restart rsyslog

6,配置Haproxy cfg文件

###########全局配置#########
global
chroot /usr/local/haproxy
daemon
nbproc 1
group haproxy
user haproxy
pidfile /usr/local/haproxy/logs/haproxy.pid
ulimit-n 65536
tune.ssl.default-dh-param 2048
log 127.0.0.1 local0
#spread-checks 5m
#stats timeout 5m
#stats maxconn 100

########默认配置############
defaults
mode tcp #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
retries 3 #两次连接失败就认为是服务器不可用,也可以通过后面设置
option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
maxconn 32000 #默认的最大连接数
timeout connect 5000ms #连接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check 2000 #心跳检测超时
log 127.0.0.1 local0 err #[err warning info debug]

listen admin_status #Frontend和Backend的组合体,监控组的名称,按需自定义名称
bind 0.0.0.0:1314 #监听端口
mode http #http的7层模式
log 127.0.0.1 local0 err #错误日志记录
stats refresh 5s #每隔5秒自动刷新监控页面
stats uri /admin?stats #监控页面的url
stats realm itnihao\\ itnihao #监控页面的提示信息
stats auth admin:admin #监控页面的用户和密码admin,可以设置多个用户名
stats auth admin1:admin1 #监控页面的用户和密码admin1
stats hide-version #隐藏统计页面上的HAproxy版本信息
stats admin if TRUE #手工启用/禁用,后端服务器(haproxy-1.4.9以后版本)


#errorfile 403 /etc/haproxy/errorfiles/403.http
#errorfile 500 /etc/haproxy/errorfiles/500.http
#errorfile 502 /etc/haproxy/errorfiles/502.http
#errorfile 503 /etc/haproxy/errorfiles/503.http
#errorfile 504 /etc/haproxy/errorfiles/504.http

#################HAProxy的日志记录内容设置###################
capture request header Host len 40
capture request header Content-Length len 10
capture request header Referer len 200
capture response header Server len 40
capture response header Content-Length len 10
capture response header Cache-Control len 8

#######################网站监测listen配置#####################
###########此用法主要是监控haproxy后端服务器的监控状态############
frontend http_80_in
bind 0.0.0.0:80 #监听端口,即haproxy提供web服务的端口,和lvs的vip端口类似
bind *:443 ssl crt /usr/local/haproxy/server.pem
redirect scheme https if !{ ssl_fc }
mode http #http的7层模式
log global #应用全局的日志配置
option httplog #启用http的log
option httpclose #每次请求完毕后主动关闭http通道,HA-Proxy不支持keep-alive模式
option forwardfor #如果后端服务器需要获得客户端的真实IP需要配置次参数,将可以从Http Header中获得客户端IP
########acl策略配置#############
acl itnihao_web hdr_reg(host) -i haproxy.duobaonet.com
use_backend server_web if itnihao_web
#下面我将设置三组服务器 server_web,server_blog,server_bbs
###########################backend server_web#############################
backend server_web
mode http #http的7层模式
balance roundrobin #负载均衡的方式,roundrobin平均方式
cookie SERVERID #允许插入serverid到cookie中,serverid后面可以定义
server web1 127.0.0.1:51001 cookie web1 check inter 1500 rise 3 fall 3 weight 1

注意:设置haproxy代理后端tomcat 并设置https http自动跳转到https

证书合并:cat 214207719200903.pem 214207719200903.key |tee server.pem

8,启动Haproxy

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

9,把haproxy加入系统服务。

 
















































































以上是关于Haproxy的配置的主要内容,如果未能解决你的问题,请参考以下文章

HAProxy详解:HAProxy基础配置与应用实例

HAProxy日志配置

Haproxy的配置

配置haproxy负载均衡群集

centos 7 之haproxy的配置文件详解及haproxy参数调优

33-haproxy