环境:

服务器:主服务器A,备服务器B(主服务器配置和带宽都大于备服务器器)

业务:tomcat

端口:443,80

协议:https

域名:www.danny.com

证书:ssl证书,域名绑定了ssl证书并都配置安装在AB服务器中

 

要求:主要使用A服务器跑业务,B服务器只有在A服务器不可用时才接受访问流量

 

阿里云负载均衡后台转发服务器组选择:

1.后端服务器

和传统后端服务器组基本没区别,通过转发规则实现流量分发,达到负载均衡的目的。

 

2.虚拟服务器组

当需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,可以选择使用虚拟服务器组。

 

3.主备服务器组(满足要求)

即后端服务器中有一台主机和一台备机。当主机工作正常时,流量将直接走主机;当主机宕机时,流量将走到备机。由于备机不会做健康检查,所以只要主机健康检查失败,系统会直接将流量切到备机。当主机健康检查成功恢复服务后,流量会自动切到主机。

 

实现步骤

1.添加主备服务器组,添加主备端口443,勾选备机

2.添加监听规则,使用TCP监听(主备服务器组只支持TCP四层监听),监听端口443,健康检查端口443(默认为后台服务器组端口),当然也可以用域名做健康检查。

这条规则的意思是用户到负载为443端口的请求转发到后台服务器的443端口。

 

 

3.继续添加监听规则,使用http监听,监听端口80,健康检查端口80。(当然这步是没有用到主备服务器组的,用的是后端服务器组,因为主要流量需要通过主服务器,这时可以设置权重1:100来解决,因为对于https的我们公司业务来说,基本都是https访问的,这一步主要针对直接用http协议访问的用户。没办法,试过1.https监听,2.http监听,3.全tcp监听,4.https和http重定向结合监听,5.一个tcp443端口监听等多种监听搭配都不能访问或不能用http直接访问,问题提交工单也没解决,这算是一个折中的办法吧——在很少的http直接请求用户中,又只有很少一部分请求会转给备机,综合基本99%的请求还是直接通过主业务机,基本达到要求吧)

 这条规则的意思是用户到负载为80端口的请求转发到后台服务器的80端口,后台接受到80端口的信息,也就是http非ssl证书请求会自动转发给https(前提是需要在绑定ssl证书时在后台设置tomcat请求转发),最终可以实现一些http请求重定向到https

 

结果如下:

 

 

4.解析域名到负载公网IP上

 

5.https访问即可,也可直接通过http访问(安装ssl证书时别忘了做http跳转https的设置,详见https://cloud.tencent.com/document/product/400/4143)

访问www.danny.com即可自动补全跳转到https://www.danny.com

 

总结:监听设置有很多坑,理论上可以实现,实际却不一定,比如说设置一个https监听,后端80,理论上是可以访问https页面的,但是我测试的时候不能,网页打不开,其他监听规则一样。以上方法是结合多种失败总结出来的,记录一下。当然也可能是我的web是tomcat有关,不同的web如nignx,设置方式也不同。

 

注意:

负载均衡监听规则很多,分别有http、https、TCP、UDP监听,四层监听为TCP和UDP;七层监听为http和https。具体使用什么监听规则看具体网站所用协议,底层监听适用范围大于高层监听。比如上面提到的https协议网站就可以用TCP监听,当然前提是绑定安装了ssl证书。

 

 

版权声明:本文为dannylinux原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dannylinux/p/9066277.html