基于haproxy-1.5.12版本的http层负载均衡代理转发,附带测试效果

——前期环境部署:

haproxy  192.168.64.129

nginx   192.168.64.129

client  192.168.64.128

(1.在server端口添加4个虚拟机 [haproxy和nginx共用一台服务器,不同端口]

[[email protected] ~]# tree -n /usr/local/nginx/conf/conf.d/
/usr/local/nginx/conf/conf.d/
├── bbs.example.com.8000.conf
├── bbs.example.com.8001.conf
├── www.example.com.8002.conf
└── www.example.com.8003.conf

0 directories, 4 files
[[email protected] ~]# tree -n /usr/local/nginx/html/
/usr/local/nginx/html/
├── bbs_8000
│   ├── index.html
│   ├── index.php
│   └── www
│       ├── example.css
│       ├── example.html
│       └── example.js
├── bbs_8001
│   ├── index.html
│   ├── index.php
│   └── www
│       ├── example.css
│       ├── example.html
│       └── example.js
├── www_8002
│   ├── index.html
│   ├── index.php
│   └── www
│       ├── example.css
│       ├── example.html
│       └── example.js
└── www_8003
    ├── index.html
    ├── index.php
    └── www
        ├── example.css
        ├── example.html
        └── example.js

8 directories, 20 files

(2.在client添加hosts信息,并访问测试域名

#添加hosts信息
[[email protected] ~]# tail -n2 /etc/hosts
192.168.64.129  www.example.com
192.168.64.129  bbs.example.com
#访问测试域名
[[email protected] ~]# curl bbs.example.com:8001
[[email protected] ~]# curl bbs.example.com:8001
bbs.example.com:8001
[[email protected] ~]# curl www.example.com:8002
www.example.com:8002
[[email protected] ~]# curl www.example.com:8003
www.example.com:8003

——测试haproxy代理转发

(1.基于虚拟主机的转发 [实现效果:访问www.example.com将会访问192.168.64.129:8002和8003的内容]

frontend http_web
    bind 192.168.64.129:80
    acl www_example_com hdr_beg(host) -i www.example.com
    use_backend www if www_example_com
backend www
    balance        roundrobin
    option httpchk HEAD /index.html
    server example_web01 192.168.64.129:8002 check inter 1500 rise 3 fall 3 weight 3
    server example_web01 192.168.64.129:8003 check inter 1500 rise 3 fall 3 weight 3

测试效果如下:

(2.基于域名(301)跳转 [实现效果:访问www.example.com将会访问bbs.example.com的内容]

frontend http_web
    bind 192.168.64.129:80
    acl www_example_com hdr_beg(host) -i www.example.com
    acl bbs_example_com hdr_beg(host) -i bbs.example.com

    use_backend bbs if www_example_com

backend bbs
    balance        roundrobin
    option httpchk HEAD /index.html
    server example_web01 192.168.64.129:8000 check inter 1500 rise 3 fall 3 weight 3
    server example_web01 192.168.64.129:8001 check inter 1500 rise 3 fall 3 weight 3

测试效果如下:

(3.基于url目录跳转 [实现效果:访问www.example.com/www/examlpe.html将会访问bbs.example.com/www/examlpe.html的内容]

frontend http_web
    bind 192.168.64.129:80
    acl www_example_com hdr_beg(host) -i www.example.com
    acl bbs_example_com hdr_beg(host) -i bbs.example.com
    acl www_path  path_beg -i /www

    use_backend bbs_pool if bbs or www_path

backend bbs_pool
    balance        roundrobin
    option httpchk HEAD /index.html
    server example_web01 192.168.64.129:8000 check inter 1500 rise 3 fall 3 weight 3
    server example_web01 192.168.64.129:8001 check inter 1500 rise 3 fall 3 weight 3

测试效果如下:

(4.基于后缀以css,js结尾的静态文件文件跳转

frontend http_web
    bind 192.168.64.129:80
    acl www_example_com hdr_beg(host) -i www.example.com
    acl bbs_example_com hdr_beg(host) -i bbs.example.com
    acl www_static  path_end -i .js .css

    use_backend bbs if www_static

backend bbs
    balance        roundrobin
    option httpchk HEAD /index.html
    server example_web01 192.168.64.129:8000 check inter 1500 rise 3 fall 3 weight 3
    server example_web01 192.168.64.129:8001 check inter 1500 rise 3 fall 3 weight 3

测试效果如下:

待补充...

时间: 2024-10-06 03:57:56

基于haproxy-1.5.12版本的http层负载均衡代理转发,附带测试效果的相关文章

HAProxy负载均衡代理

HAProxy负载均衡代理1. HAProxy概述       HAProxy 提供高可用性.负载均衡以及基于 TCP 和 HTTP 应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根据官方数据,其最高极限支持 10G 的并发.HAProxy 特别适用于那些负载特大的 web 站点, 这些站点通常又需要会话保持或七层处理. HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的 web 服务

基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置

第一章. 背景简介 对于大多数企业应用,都希望能做到7*24小时不间断运行.要保持如此高的可用性并非易事,比较常见的做法是将系统部署到多台机器上,每台机器都对外提供同样的功能,这就是集群.系统变为集群时,除了要求系统能够支持水平伸缩外,还要解决两个问题: 1, 如何均衡地访问到提供业务功能的机器. 2, 如何保证当机器出现问题时,用户能自动跳转到另外的机器,不影响使用. 常用的负载均衡技术有硬件和软件两种,本示例常用软件的技术实现.软件也有很多实现技术,如基于apache的mod_jk以及mod

四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比

一.四层与七层负载均衡在原理上的区别 图示: 四层负载均衡与七层负载均衡在工作原理上的简单区别如下图: 概述: 1.四层负载均衡工作在OSI模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和源地址对请求进行转发,而无法修改或判断所请求资源的具体类型,然后经过负载均衡内部的调度算法转发至要处理请求的服务器.四层负载均衡单纯的提供了终端到终端的可靠连接,并将请求转发至后端,连接至始至终都是同一个.LVS就是很典型的四层负载均衡. 2.七层负载均衡工作在OSI模型的第七层应用层,所以七层负载

[转] 四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比

一.四层与七层负载均衡在原理上的区别 1.图示 2.概述 四层负载均衡工作在 OSI 模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和源地址对请求进行转发,而无法修改或判断所请求资源的具体类型,然后经过负载均衡内部的调度算法转发至要处理请求的服务器.四层负载均衡单纯的提供了终端到终端的可靠连接,并将请求转发至后端,连接至始至终都是同一个.LVS 就是很典型的四层负载均衡. 七层负载均衡工作在 OSI 模型的第七层,即应用层,所以七层负载均衡可以基于请求的应用层信息进行负载均衡,例如根

http层负载均衡之haproxy

http层负载均衡之haproxy实践篇(一) 方案 上篇文章讲到了负载均衡的相关理论知识,这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案:haproxy http层负载均衡 安装一个haproxy服务,两个web服务 haproxy:192.168.1.227:80 web1 http://192.168.1.226:8081/login web2 http://192.168.1.246:8888/login web服务自行准备,文章中就不说了 负载均衡算法为轮询调度 会话保持实现方式

基于keepalived+nginx部署强健的高可用7层负载均衡方案20151214

高可用是个老生常谈的问题了,开源的高可用软件已经做的相当成熟了,之前也在debian下做过lvs+heartbeat的4层LB,一直很稳定(可惜流量不大啊),现在由于业务的需要,做一个基于keepalived+nginx的高可用7层负载均衡. 拓扑结构也比较简单,就不画拓扑图了:2个节点上分别安装配置keepalived和nginx,配置nginx反向代理后端的real server 比较关键的几个点: 1.为避免同一个局域网中有多个keepalived组中的多播相互响应,采用单播通信 2.状态

MySQL5.6基于GTID同步复制,与如何实现MySQL负载均衡、读写分离。

MySQL想必大家都不陌生,之前文章也有介绍同步复制与半同步复制,今天先来了解下什么是GTID. GTID(global transaction ID)全局事务ID,是由服务器的UUID+一段随机数事务ID. 特性:从服务器从主服务器复制过来的事务,GTID不变,也就是说一个事务在全局复制架构中的ID不变. 有什么用: 在MySQL集群中,当Master故障时,需要从Slave中挑选一个提升为Master可以基于GTID对比其他Slave来保证数据的一致性. MySQL主从同步如何配置数据过滤

大型网站系统架构的演进(四)http层负载均衡之haproxy实践篇(一)

方案 上篇文章讲到了负载均衡的相关理论知识,这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案:haproxy http层负载均衡 安装一个haproxy服务,两个web服务 haproxy:192.168.1.227:80 web1 http://192.168.1.226:8081/login web2 http://192.168.1.246:8888/login web服务自行准备,文章中就不说了 负载均衡算法为轮询调度 会话保持实现方式为cookie识别,插入cookie 优点: 1

http层负载均衡之 haproxy实践篇

方案 上篇文章讲到了负载均衡的相关理论知识,这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案:haproxy http层负载均衡 安装一个haproxy服务,两个web服务 haproxy:192.168.1.227:80 web1 http://192.168.1.226:8081/login web2 http://192.168.1.246:8888/login web服务自行准备,文章中就不说了 负载均衡算法为轮询调度 会话保持实现方式为cookie识别,插入cookie 优点: 1