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加入系统服务。

时间: 2024-10-29 15:10:21

Haproxy的配置的相关文章

gitlab haproxy ssl 配置

现在网上的gitlab都是基于nginx代理gitlabsocket的访问方式   配置基于nginx的https无需多说,配置只基于haproxy的https    后端选择代理   gitlab的Unicorn 需要修改的配置有  /home/git/gitlab/config/unicorn.rb /home/git/gitlab/config/gitlab.config 此处host修改为  FQDN  也就是你的ip或者address port修改为 443 https 修改为true

haproxy+keepalived配置

一.环境 系统:CentOS 6.4x64最小化安装 ha-keep-m:192.168.3.15 ha-keep-s:192.168.3.22 httpd-16:192.168.3.16 httpd-17:192.168.3.17 VIP:192.168.3.28 二.在ha-keep-m和ha-keep-s上安装haproxy [[email protected] ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64

HAPROXY 配置项/配置实例

HAPROXY 配置项/实例 常用配置选项: OPTION 选项: option httpclose :HAProxy会针对客户端的第一条请求的返回添加cookie并返回给客户端,客户端发送后续请求时会发送 此cookie到HAProxy,HAProxy会针对此cookie分发到上次处理此请求的服务器上,如果服务器不能忽略 此cookie值会影响处理结果.如果避免这种情况配置此选项,防止产生多余的cookie信息. option forwardfor :如果服务器上的应用程序想记录发起请求的客户

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/6118ccbcfe07d96c2cce1a78c30db9c428f8b64e64fc3f5660392a501ecbaefdc5b10bea2f65c

Linux Haproxy详细配置教程

1 Linux Haproxy 负载均衡 v1.8 ★★★ 类似于ningx的反向代理1.1 Haproxy 概述 Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备.虚拟主机.基于TCP和HTTP应用代理等功能.其配置简单,维护方便,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,Haproxy会自动的将该故障服务器摘除,当服务器的故障恢复后,Haproxy还会自动将该RS服务器加入进来提供服务

HAProxy基本配置、调度算法与tcp、http、heath模式配置示例

一.HAProxy安装 1.HAProxy简单介绍 HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡. 2.yum安装HAProxy HAProxy已经包含在yum的base中,版本为1.15,可以直接yum安装 ~]# yum install -y haproxy HAProxy的配置文件路径为:/etc/haproxy/haproxy.cfg 主程序路径为:/usr/sbin/haproxy 3.HAProxy配置 HAPr

Haproxy安装配置及日志输出问题

简介:软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载.    HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器.内部协议通信服务器等),和7层(HTTP).在4层模式 下,HAproxy仅在客户端和服务器之间转发双向流量.7层模式下,HAProxy会分析协议,并且能通过允许.拒绝.交换.增加.修改或者删除请求 (r

HAProxy日志配置

HAProxy日志配置 HAProxy可以基于rsyslog记录日志到指定的设备 日志的配置方法 1.修改haproxy配置文件 [[email protected] ~]# vim /etc/haproxy/haproxy.cfg log 127.0.0.1 local3 info #在全局配置段中配置,定义日志记录级别 2.修改syslog的配置文件 [[email protected] ~]# vim /etc/rsyslog.conf # Provides UDP syslog rece

haproxy 安装配置

yum install -y haproxy 生成配置文件位置 /etc/haproxy/haproxy.cfg ########################启用日志###################### vim /etc/rsyslog.conf #由于haproxy的日志是用udp传输的,所以要启用rsyslog的udp监听 # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 #启用级别为local2的设

haproxy ssl 配置方式

haproxy 代理 ssl 有两种方式 1.haproxy 本身提供ssl 证书,后面的web 服务器走正常的http 2.haproxy 本身只提供代理,后面的web服务器https 第一种方式 需要编译haproxy 支持ssl,编译参数: make TARGET=linux26 USE_OPENSSL=1 ADDLIB=-lz ldd haproxy | grep ssl libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007fb0485e500