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服务器搭建 略....

原文地址:http://blog.51cto.com/haoyonghui/2065032

时间: 2024-11-13 11:45:11

haproxy代理配置的相关文章

Haproxy代理配置---传输层

Haproxy简介: 1.HAProxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 2.HAProxy 实现了一种事件驱动.单一进程模

haproxy代理设置及配置文件详解

haproxy代理配置: 结果图: haproxy代理配置2方式: 结果配置: Haproxy的配置文件由两部分组成:全局设定和对代理的设定,共分为五段:global. Default.frontened.backend.listen 配置文件格式: HAPROXY的配置处理3类来主要参数来源: ---最先处理的命令行参数 ---"global"配置段,用于设定全局的参数配置 ----proxy相关配置段,如default,listen,frontend和backend 全局配置: *

haproxy代理https配置方法

记得在之前的一篇文章中介绍了nginx反向代理https的方法,今天这里介绍下haproxy代理https的方法: haproxy代理https有两种方式:1)haproxy服务器本身提供ssl证书,后面的web服务器走正常的http 2)haproxy服务器本身只提供代理,后面的web服务器走https(配置ssl证书) 第一种方式:haproxy服务器本身提供ssl证书 注意:需要编译haproxy的时候支持ssl编译参数: #make TARGET=linux26 USE_OPENSSL=

haproxy代理https配置方法【转】

记得在之前的一篇文章中介绍了nginx反向代理https的方法,今天这里介绍下haproxy代理https的方法: haproxy代理https有两种方式:1)haproxy服务器本身提供ssl证书,后面的web服务器走正常的http 2)haproxy服务器本身只提供代理,后面的web服务器走https(配置ssl证书) 第一种方式:haproxy服务器本身提供ssl证书 注意:需要编译haproxy的时候支持ssl编译参数: #make TARGET=linux26 USE_OPENSSL=

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

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 :如果服务器上的应用程序想记录发起请求的客户

基于TCP的Haproxy代理

HaProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.应用到Haproxy主要是因为他免费,并且基于TCP和HTTP的应用代理. 先介绍一下Haproxy的应用场景,一个是TCP代理,这边也是我项目中应用的,另一个是HTTP代理,我就简单介绍一下.基于Tcp协议的Haproxy代理应用场景:在VPC网络环境下,虚机A的数据库不能被外界网络访问到,只能被在同一内网环境下的虚机B访问,这时候可以通过在虚机B上搭建Haproxy环境