你的位置:首页 > 操作系统

[操作系统]烂泥:高负载均衡学习haproxy之TCP应用


本文由ilanniweb提供友情赞助,首发于烂泥行天下

在前几篇文章中,我们介绍了haproxy的配置参数,而且配置例子都是http协议(7层应用)的。

这篇文章,开始介绍haproxy的4层TCP应用。

想要获得更多的文章,可以关注我微信ilanniweb。

clip_image001

一、业务要求

现在我们有两个要求,这两个要求的协议都是通过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

clip_image002

整个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

clip_image003

通过上图,我们可以很明显的看出haproxy成功的代理了192.168.5.174的ssh端口。

3.2 验证haproxy代理mysql

现在我们来验证haproxy代理mysql,在Linux客户端上使用如下命令:

mysql -P8098 -h192.168.5.171 -uroot –p

clip_image004

通过上图,我们可以很明显的看出haproxy成功的代理了192.168.7.7的3306端口(也即是mysql)。




韩国旅游去哪好韩国旅游团报价优惠韩国蜜月旅游行程参考韩国特价旅游多少钱到韩国游费用报价大全顺德长鹿农庄五一有什么节目?长鹿农庄音乐节什么时候? 五一去洛阳牡丹花节赏花攻略?2015洛阳牡丹花节几号结束? 洛阳国际牡丹园盛花期什么时候?洛阳国际牡丹园花全开了吗? 月亮湾温泉度假村五一住宿方便吗啊?五一遂昌月亮湾温泉度假村住宿价格? 五一小长假时,澳门有哪些民俗节庆活动呢? 香港国际机场到海港城怎么去? 五一香港哪里买衣服有优惠? 五一香港打折吗?2015年五一香港哪里有优惠? 泰国曼谷野生动物园好玩吗?泰国曼谷野生动物园怎么样? 泰国有什么特产水果? 泰国曼谷暹罗公园好玩吗?泰国曼谷暹罗公园怎么样? 马尔代夫椰子岛有哪些住宿的地方? 肇庆盘古山2月有哪些好玩的?盘古山2月有什么花? 肇庆盘古山一天游花费?盘古山冬天有哪些玩的? 水上丹霞山冬天好玩吗?韶关丹霞山冬天有哪些好玩的? 东莞粤晖园要门票么?东莞粤晖园拓展基地另收费吗? 04023J6R8BBWTR\500 Datasheet 04023J6R8BBWTR\500 Datasheet 1808CC223MATME Datasheet 1808CC223MATME Datasheet LD14CC224MAB1A Datasheet LD14CC224MAB1A Datasheet 乌镇旅行社 乌镇旅行社 乌镇旅行社 贵州旅游点 贵州旅游点 贵州旅游点 巧克力开心乐园好玩吗 巧克力开心乐园好玩吗 巧克力开心乐园好玩吗