本站所使用的架构可以详细看这里:本站架构

用HAProxy代理多域名HTTPS站点有两种途径:tcp和https,本文分别列出两种方法,我均已测试通过:

安装就不多说了,Debian自带稳定版,一行命令就搞定:

 

方法一,用TCP连接

这个路子只能针对单一后端节点,或者多节点轮询也可以,但无法区分域名,也就是不太灵活。(我看官方博客提供的TCP+根据域名分流的方法,但很复杂,而且我没测试成功)这个方法的效率最高。

配置:

比葫芦画瓢,不用多做解释了

 

方法二,用HTTPS方式

此方法很灵活,可以根据域名分发至不同的服务器,但需要自身多做一次SSL交互,理论上性能略低,但HAProxy的性能再怎么低也比Nginx、Apache之流高出很多很多倍。

看完整配置:

本身不复杂,但网上的中文教程全错,呵呵。略作解释:

 

这一行,有多个证书就附加多个进来,也可以更简单的指定一个目录,但路径必须正确,否则出错无法启动的。

 

 

这里,根据匹配到的域名选择对应的后端服务器组(也可以用配置语法中的正则),在HAProxy里,不论一个还是多个服务器,都是以“组”的形式出现的

 

 

这里定义对应的后端“组”,也可以加轮询算法、权重什么的参数,我这没必要,各位需要的话自己加上就好了。

 

 

Haproxy本身是一个超高性能的负载均衡软件,官网测试的是用十几年前的古董计算机可以跑满10G带宽,其性能绝非Nginx这种可比的。

PS:我以前的公司用这玩意做前端,承载后面7万左右个网站,用的不过是一个E2200的cpu就足够了,还长时间cpu占用为0,其他的代理软件差距实在太大,没必要对比了。

Share

发表评论

电子邮件地址不会被公开。 必填项已用*标注