烂泥:高负载均衡学习haproxy之TCP应用
本文由ilanniweb提供友情赞助,首发于烂泥行天下
在前几篇文章中,我们介绍了haproxy的配置参数,而且配置例子都是http协议(7层应用)的。
这篇文章,开始介绍haproxy的4层TCP应用。
想要获得更多的文章,可以关注我微信ilanniweb。
一、业务要求
现在我们有两个要求,这两个要求的协议都是通过tcp协议的。
1.1 haproxy代理ssh
为了安全起见,要求所有业务服务器都关闭公网的连接,只开放haproxy所在的服务器,并且其他业务服务器的ssh连接通过haproxy来实现。
实际业务,访问192.168.5.171的8098端口就是访问192.168.5.174的ssh端口。
1.2 haproxy代理mysql
为了安全起见,要求mysql数据库的连接只能通过内网IP,但是因为使用的是云数据库,所以如果公司内部要连接数据库的话要通过haproxy来实现。
实际业务,访问192.168.5.171的8099端口就是访问192.168.7.7的3306端口。
二、配置haproxy
因为是haproxy的7层和4层混合使用,所以在defaults中,我们不定义haproxy的运行模式。
注意:有关http模式的相关配置参数不要出现在default中。
有关业务要求的TCP 4层应用,我们的haproxy配置如下:
listen 8099
bind 0.0.0.0:8099
mode tcp
server 174_22 192.168.5.174:22 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3
listen 8098
bind 0.0.0.0:8098
mode tcp
server 77_3306 192.168.7.7:3306 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3
整个haproxy的配置文件如下:
grep -vE "^#|^$" haproxy.cfg
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 4096
uid 1005
gid 1005
daemon
defaults
log global
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen admin_stats
bind 192.168.5.171:1080
mode http
option httplog
maxconn 10
stats refresh 30s
stats uri /stats
stats auth admin:admin
stats hide-version
frontend weblb
bind *:80
acl is_dg hdr_beg(host) dg.test.com
mode http
acl is_ilanni hdr_beg(host) ilanni.test.com
acl is_171 hdr_beg(host) 192.168.5.171
acl is_ip src 192.168.5.140
acl is_port dst_port 8090
use_backend acl if is_171 is_ip
use_backend mui_acl if is_171 is_ip is_port
use_backend dgserver if is_dg
use_backend ilanni if is_ilanni
use_backend 171server if is_171
default_backend backend_default
backend dgserver
balance source
mode http
server web1 192.168.5.171:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
server web2 192.168.5.174:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
server web3 192.168.5.178:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
backend 171server
balance roundrobin
mode http
server dg1 192.168.5.174:80 check
server dg2 192.168.5.178:80 check
backend ilanni
server web1 www.yuanbaopu.com:80 weight 3 check inter 2000 rise 2 fall 3
mode http
backend acl
balance source
mode http
server web1 www.ilanni.com:80 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
backend mui_acl
balance source
mode http
server web1 192.168.5.178:80 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
backend backend_default
server web1 192.168.5.178:8080 weight 3 check inter 2000 rise 2 fall 3
mode http
listen 8090
bind 0.0.0.0:8090
mode http
balance roundrobin
server web1 192.168.5.174:8090 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3
server web2 192.168.5.178:8090 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3
listen 8099
bind 0.0.0.0:8099
mode tcp
server 174_22 192.168.5.174:22 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3
listen 8098
bind 0.0.0.0:8098
mode tcp
server 77_3306 192.168.7.7:3306 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3
三、验证要求
haproxy配置完毕后,我们来验证haproxy的配置是否正确,如下:
3.1 验证haproxy代理ssh
现在我们来验证haproxy代理ssh,在Linux客户端上使用如下命令:
ssh -p8099 wangxy@192.168.5.171
通过上图,我们可以很明显的看出haproxy成功的代理了192.168.5.174的ssh端口。
3.2 验证haproxy代理mysql
现在我们来验证haproxy代理mysql,在Linux客户端上使用如下命令:
mysql -P8098 -h192.168.5.171 -uroot –p
通过上图,我们可以很明显的看出haproxy成功的代理了192.168.7.7的3306端口(也即是mysql)。
转载于:https://www.cnblogs.com/ilanni/p/4762762.html
烂泥:高负载均衡学习haproxy之TCP应用相关推荐
- 烂泥:高负载均衡学习haproxy之安装与配置
本文首发于烂泥行天下 有关高负载均衡的软件,目前使用比较多的是haproxy.nginx和lvs.下面我们就开始学习haprxoy这款软件. 一.haproxy介绍 以下开始介绍有关haproxy的原 ...
- 烂泥:高负载均衡学习haproxy之关键词介绍
本文由ilanniweb提供友情赞助,首发于烂泥行天下 上一篇文章我们简单讲解了有关haproxy的安装与搭建,在这篇文章我们把haproxy配置文件中使用到的关键词一一介绍下. 关注我微信ilann ...
- Web负载均衡学习笔记之四层和七层负载均衡的区别
0x00 简介 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. ...
- 负载均衡之HAProxy——种种
HAProxy原理和配置 目录 1.HAProxy简介 2.haproxy安装和配置说明 proxies配置参数 bind配置 Balance配置 基于cookie的会话绑定 统计接口启用相关的参数 ...
- 【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍
简介 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台 ECS 的流量分发控制服务.负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应 ...
- 负载均衡是什么?-高负载均衡架构
负载均衡是什么 负载均衡:让用户的请求均匀的分布在每台服务器上. 每台服务器上搭载web服务,将dns域名,指向这台nginx服务器的IP 使用proxy_pass配合upstream来实现简单的 ...
- 高可用高性能负载均衡软件HAproxy详解指南-第一章(简介、安装)
第一章:HAproxy简介及安装配置 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 目录 HAproxy简 ...
- 高可用高性能负载均衡软件HAproxy详解指南-第三章:HAproxy实例
目录 haproxy案例1:定义独立日志文件 haproxy案例2:haproxy统计页面的输出机制 haproxy案例3:动静分离示例: haproxy案例4:实现web负载 haproxy案例5: ...
- 大型网站系统架构实践(四)http层负载均衡之haproxy实践篇(一)
方案 上篇文章讲到了负载均衡的相关理论知识,这篇文章我打算讲讲实践方法以及实践中遇到的问题 方案:haproxy http层负载均衡 安装一个haproxy服务,两个web服务 haproxy:192 ...
最新文章
- Android - 广播机制和Service
- pandas:dataframe删除某些不为non的行
- AI自动标注神器!支持多通道、大尺幅数据
- 取出响应头中包含多个set-cookie的值
- 基础功能-tensorflow使用gpu
- WordPress广告管理插件Adning Advertising1.5.8汉化版
- PHP: 在类(class)中加载动态函数, 变量函数或半变量函数 variable function/method
- 了解 XSS 攻击原理
- 联想Lenovo拯救者 Legion R9000P 2021H 触控板失灵
- 研发人员需要什么知识和能力
- gitlab服务: kex_exchange_identification: Connection closed by remote host
- Bootstrap-button btn样式
- 17福师计算机在线作业,17秋福师《计算机应用基础》在线作业一.doc
- sum求和,vag平均数,round四舍五入
- java.lang.Class:是反射的源头
- Rufus 3.19 beta 引入自定义 Windows 11 安装对话框
- web开发 -4-ASP语言
- angular的父子controller通信
- win10企业版 ltsb 如何激活
- 软件工程总结——传统软件开发方法与面向对象开发方法的比较
热门文章
- 世界隐形冠军比拼:德国1307家、美国366家、中国68家
- 清华发布《AI芯片技术白皮书》:新计算范式,挑战冯诺依曼、CMOS瓶颈
- 互联网大脑进化简史,华为云EI智能体加入-2018年7月新版
- NASA投资有远景技术,有望改变未来人类和机器人的勘探任务
- 重磅:ATT的《5G移动边缘计算白皮书》!
- 同为 Java 开发:有了这些 Java 项目经历,面大厂稳了!
- 为了提升续航,马斯克又引发一场“造芯”革命,华为比亚迪已进场
- 小猿圈Python之实现京东秒杀功能代码
- nginx 稳定版 1.16.0 发布,支持动态加载 SSL 证书
- SimpliVity:我是你的完美选择,HPE!