HAProxy根据不同的URI 转发到后端的服务器组

1 ) 实验内容说明:

  1. 1.1 根据不同的URI 转发到后端的服务器组. /a /b 和其他 默认使用其他。
  2. 1.2 使用IP介绍:
  3. haproxy | 10.10.50.119 | ha | 入口LB
  4. server-1 | 10.10.29.207 | http | /a 路径转发到此
  5. server-2 | 10.10.4.209 | http | /b 路径转发到此
  6. server-3 | 10.10.116.206 | http | 其他所有的转发到此

2 ) HAProxy-1.8.20 根据路径转发到不同后端组:

  1. 2.1 ) haproxy 配置
  2. [root@ser haproxy]# grep -vE '^$|^#|^ #' haproxy.cfg
  3. global
  4. maxconn 100000
  5. chroot /data/soft/haproxy
  6. stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
  7. uid 1000
  8. gid 1000
  9. daemon
  10. nbproc 2
  11. cpu-map 1 0
  12. cpu-map 2 1
  13. pidfile /usr/local/haproxy/run/haproxy.pid
  14. log 127.0.0.1 local3 info
  15. defaults
  16. option http-keep-alive
  17. option forwardfor # ip地址透传 针对http 协议有效
  18. maxconn 100000
  19. mode http
  20. timeout connect 300000ms
  21. timeout client 300000ms
  22. timeout server 300000ms
  23. frontend web_prot_80
  24. bind 0.0.0.0:80
  25. mode http
  26. #########################重点部分开始
  27. acl web_port path_beg -i /a # 定义一个ACL,名web_port,模糊匹配路径/a
  28. acl mob_port path_beg -i /b # 定义一个ACL,名web_port,模糊匹配路径/b
  29. use_backend web_port_http_nodes if web_port
  30. # 客户端访问HA路径http://10.10.50.119/a,匹配成功web_port就转发到web_port_http_nodes.如果没有成功继续往下匹配.都匹配不成功就转发到 defalt_backend.
  31. use_backend mob_port_http_nodes if mob_port
  32. # 客户端访问HA路径http://10.10.50.119/b,匹配成功mob_port就转发到mob_port_http_nodes.如果没有成功继续往下匹配.都匹配不成功就转发到 defalt_backend.
  33. default_backend backup_nodes # 一定要有默认转发的这一条,否则会报错。
  34. backend web_port_http_nodes
  35. server server1 10.10.29.207:80 weight 1 check port 80 inter 3s fall 2 rise 5
  36. backend mob_port_http_nodes
  37. server server2 10.10.4.209:80 weight 1 check port 80 inter 3s fall 2 rise 5
  38. backend backup_nodes
  39. server server3 10.10.116.206:80 weight 1 check port 80 inter 3s fall 2 rise 5
  40. ###########################重点部分结束
  41. listen stats
  42. mode http
  43. bind 0.0.0.0:9999
  44. stats enable
  45. log global
  46. bind-process 2
  47. stats uri /s
  48. stats auth admin:34343434

3 ) 后端机器做如下操作:

  1. ## 后端统一安装httpd
  2. yum install httpd -y
  3. systemctl restart httpd
  4. ## server-1
  5. mkdir -p /var/www/html/a
  6. echo "this is server-1 29.207" >/var/www/html/a/index.html
  7. ## server-2
  8. server-2
  9. mkdir -p /var/www/html/b
  10. echo "this is server -2 4.209" >/var/www/html/a/index.html
  11. ## server-3
  12. server-3
  13. echo "backup redis-2 index.html" /var/www/html/index.html

4 ) 验证最终过程

  1. [root@client1 haproxy]# curl -L http://10.10.50.119/a
  2. this is server-1 29.207
  3. [root@client1 haproxy]# curl -L http://10.10.50.119/b
  4. this is server -2 4.209
  5. [root@client1 haproxy]# curl -L http://10.10.50.119
  6. backup redis-2 index.html

Haproxy-1.8.20 根据路径(URI)转发到后端不同集群的更多相关文章

  1. nginx配置文件+本地测试请求转发到远程服务器+集群

    1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...

  2. HAProxy-1.8.20 根据后缀名转发到后端服务器

    global maxconn 100000 chroot /data/soft/haproxy stats socket /var/lib/haproxy/haproxy.sock mode 600 ...

  3. 基于 Haproxy 构建负载均衡集群

    1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...

  4. Haproxy 构建负载均衡集群

    1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...

  5. Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived

    文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...

  6. Haproxy Mysql cluster 高可用Mysql集群

    -----client-----------haproxy---------mysql1----------mysql2------192.168.1.250 192.168.1.1 192.168. ...

  7. HAProxy负载均衡原理及企业级实例部署haproxy集群

    一 HAProxy简介   HAProxy是一种高效.可靠.免费的高可用及负载均衡解决方案,非常适合于高负载站点的七层数据请求.客户端通过HAProxy代理服务器获得站点页面,而代理服务器收到客户请求 ...

  8. kingbaseES R3 集群修改data路径测试案例

    案例说明: 默认KingbaseES R3集群部署后,数据存储目录(data)在/home/kingbase下,部署时不能更改:本案例是在部署完成后,迁移data目录到其他指定的存储位置. 数据库版本 ...

  9. 配置交换机Trunk接口流量本地优先转发(集群/堆叠)

    组网图形 Eth-Trunk接口流量本地优先转发简介 在设备集群/堆叠情况下,为了保证流量的可靠传输,流量的出接口设置为Eth-Trunk接口.那么Eth-Trunk接口中必定存在跨框成员口.当集群/ ...

随机推荐

  1. 【Codeforces 1037H】Security(SAM & 线段树合并)

    Description 给出一个字符串 \(S\). 给出 \(Q\) 个操作,给出 \(L, R, T\),求字典序最小的 \(S_1\),使得 \(S^\prime\) 为\(S[L..R]\) ...

  2. Python 中的哈希表

    Python 中的哈希表:对字典的理解   有没有想过,Python中的字典为什么这么高效稳定.原因是他是建立在hash表上.了解Python中的hash表有助于更好的理解Python,因为Pytho ...

  3. 你真的了解Python自动化吗?这篇文章可以让你了解90%

    人们为什么使用Python? 之所以选择Python的主要因素有以下几个方面: 软件质量:在很大程度上,Python更注重可读性.一致性和软件质量,从而与脚本语言世界中的其他工具区别开发.此外,Pyt ...

  4. Python高级语法-对象实例对象属性-Property总结(4.6.2)

    @ 目录 1.说明 2.代码 关于作者 1.说明 property属性,返回的是值 不是callable的,也就是不能使用方法来调用 只能传入self,不能传入其他 用处,能返回局部数据,比如当分页的 ...

  5. Web服务器-正则表达式-正则其他(3.1.3)

    @ 目录 其他api说明 关于作者 其他api说明 pattern = re.compile(r'\d+') m = pattern.match('6e812738712aaadad13') m.gr ...

  6. 死磕以太坊源码分析之downloader同步

    死磕以太坊源码分析之downloader同步 需要配合注释代码看:https://github.com/blockchainGuide/ 这篇文章篇幅较长,能看下去的是条汉子,建议收藏 希望读者在阅读 ...

  7. Python 进阶——如何正确使用 yield?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 在 Python 开发中, yield 关键字的使用其实较为频繁,例如大集合的生成,简化代码结构.协 ...

  8. 图数据库 Nebula Graph 在 Boss 直聘的应用

    本文首发于 Nebula Graph 官方博客:https://nebula-graph.com.cn/posts/nebula-graph-risk-control-boss-zhipin/ 摘要: ...

  9. C#注册OCX控件

    注意 COM组件注册到注册表中的位置,是CLSID还是TypeLib 注册方法 代码执行 //声明注册方法 [DllImport("C:\\Windows\\barcodex.ocx&quo ...

  10. Nacos(一)源码分析Nacos注册示例流程

    nacos官方地址:https://nacos.io/zh-cn/ 大家可以看一下nacos的中文手册以及官方源码,博主就不带领大家快速入门 了,官方文档中都有而且非常标准,比其他博客写的好多了并且还 ...