首页 > 编程学习 > 阿里云SLB之:基于多域名调度的SLB七层负载均衡配置(十四)

文章目录

    • 1.基于多域名调度的SLB七层负载均衡配置
    • 2.增加域名的DNS解析记录
    • 3.为3个域名申请免费的SSL证书
    • 4.创建HTTPS协议的负载均衡实例
    • 5.配置HTTP强转HTTPS
    • 6.创建三个应用程序的虚拟服务器组
    • 7.配置多域名转发策略
    • 8.配置ECS中Nginx完成应用的访问
    • 9.测试SLB多域名转发的SLB负载均衡配置
      • 9.1.为SLB切换域名证书
      • 9.2.测试各个应用系统的域名访问

1.基于多域名调度的SLB七层负载均衡配置

在运维架构中,大多数情况下都是一个Nginx配置着多个网站的负载均衡,每个网站都有单独的域名,也就是我们常常听到的基于域名转发的Nginx负载均衡配置,在Nginx中实现多域名的不同调用非常简单,只需要声明多个负载均衡资源池并配置多个server即可实现。

在阿里云的SLB负载均衡中实现多域名转发也比较简单,首先我们需要创建一个80端口的负载均衡,关联上一组虚拟服务器组,这一个虚拟服务器组可以是任意一个域名的后端服务器组,创建完成后,配置监听实例的转发策略,在转发策略中声明不同域名的不同转发规则即可实现多域名的调度。

案例需求:

  • 有三个WEB应用程序:kodcloud、edu、blog
  • 域名分别是kodcloud.jiangxl.com.cn、edu.jiangxl.com.cn、blog.jiangxl.com.cn
  • kodcloud程序使用的是80端口,edu程序使用8080端口、blog程序使用9080端口
  • 三套WEB程序在每台ECS中都进行了部署,通过SLB配置七层负载均衡,实现多域名的转发
  • 通过HTTPS协议进行访问

大致实现步骤:

在做此案例时可以先将原来创建的监听实例删除,另外想要做多域名的HTTPS协议负载均衡,在生产环境中一定是购买多个SLB,或者是使用泛域名的证书,我们目前没有泛域名证书也没有多个SLB,只有一台SLB的情况下,我们想要通过HTTPS实现多域名的转调度就需要在测试这个域名访问时,通过切换证书的方式进行验证,否则会提示网站连接不安全,也可以不做HTTPS协议的域名转发,只做HTTP环境的也可

如果只配置HTTP协议实现多域名调用就需要创建SSL证书也不需要创建HTTPS协议类型的监听实例了,只需要配置一个HTTP协议的监听实例并配置转发策略即可。

  • 首先为三个域名增加DNS解析记录、SSL证书
  • 创建一个HTTPS协议443端口的监听实例,关联任意程序的虚拟服务器组。
  • 创建一个HTTP协议80端口的监听实例,并配置强转HTTPS。
  • 在HTTPS监听实例中配置转发策略,分别为每一个域名配置相应的转发策略。

2.增加域名的DNS解析记录

kodcloud程序域名的解析记录在之前已经添加过了。

1)添加edu域名的解析记录

在控制台中找到云解析—>找到我们的域名—>点击添加记录—>记录类型为A记录—>主机记录中填写主机名—>记录值中填写SLB负载均衡的公网IP地址。

1642563555116

2)添加blog域名的解析记录

在控制台中找到云解析—>找到我们的域名—>点击添加记录—>记录类型为A记录—>主机记录中填写主机名—>记录值中填写SLB负载均衡的公网IP地址。

1642563605396

3)查看添加的域名解析记录

kodcloud在前面已经增加过了,edu和blog的解析也已经添加完成。

1642563985520

3.为3个域名申请免费的SSL证书

kodcloud程序的SSL证书之前已经申请过了。

1)在SSL证书控制台的免费证书这里申请即可。

1642569817737

2)三个域名的证书准备完成。

1642570110794

3)在SLB的证书管理中创建证书。

4.创建HTTPS协议的负载均衡实例

1)添加监听

1642570295640

2)配置HTTPS协议的监听实例

协议类型选择HTTPS—>监听端口为443—>监听名称为https_cluster—>点击高级配置—>调度算法为轮询—>开启会话保持—>cookie处理方式为植入cookie。

1642570632630

3)选择SSL证书

我们的三个应用程序的域名都是jiangxl.com.cn,但是我们使用的是免费的SSL证书,每个域名都有单独的SSL证书,如果想要通过https请求程序,就需要为SLB绑定证书,我们这里选择任意一个SSL证书都可以,在具体测试时进行切换,如果我们的证书是花钱购买的,则可以针对jiangxl.com.cn创建证书,我们在使用https访问时就不需要切换证书了。

1642570747144

4)添加虚拟服务器组

我们针对多域名做转发策略,每个程序对应的虚拟服务器组是不同的,我们在后面会为每个程序添加虚拟服务器组,这里选择任意一个服务器组即可,我们就选择kodcloud程序的服务器组。

1642570970639

5)健康检查及配置审核

健康检查保持默认即可,配置审核的没问题就可以点击提交完成创建了。

1642571063424

5.配置HTTP强转HTTPS

再添加一个监听—>负载均衡协议选择HTTP—>监听端口为80—>监听名称为http_cluster—>点击高级配置—>开启监听转发—>选择目的监听为HTTPS协议。

1642571195755

配置完成后点击下一步提交即可。

监听实例配置完成。

1642571350947

6.创建三个应用程序的虚拟服务器组

kodcloud程序的虚拟服务器组在之前已经添加过了。

1)添加edu程序的虚拟服务器组

点击虚拟服务器组—>创建虚拟服务器组—>填写虚拟服务器组的名称为edu-loadblance—>点击添加—>勾选edu程序的ECS服务器—>下一步填写提供服务的端口号—>点击添加即可。

1642571437402

2)添加blog程序的虚拟服务器组

点击虚拟服务器组—>创建虚拟服务器组—>填写虚拟服务器组的名称为blog-loadblance—>点击添加—>勾选blog程序的ECS服务器—>下一步填写提供服务的端口号—>点击添加即可。

1642571746959

3)所有程序的虚拟服务器组添加完毕

1642571799448

7.配置多域名转发策略

1)找到https_cluster的监听实例—>点击配置字转发策略。

1642571915049

2)以kodcloud程序的域名为例展示添加转发策略的方式,其余域名的配置方式一样。

填写域名—>URL为/—>选择kodcloud程序的虚拟服务器组—>填写备注信息—>最后点击添加转发策略。

1642572056694

3)将其他程序域名的转发规则进行添加。

1642572234896

8.配置ECS中Nginx完成应用的访问

kodcloud通过80端口访问,edu通过8080端口访问,blog通过9080端口访问,程序所有的ECS服务器都需要配置。

1.分布准备edu和blog程序的页面内容
# mkdir /data/app/{edu,blog} -p
# echo -e "<body bgcolor="#F0F8FF">\n<h1 align="center">欢迎访问程序</h1>\n<h2 align="center">edu hello</h1>" > /data/app/edu/index.html
# echo -e "<body bgcolor="#F0F8FF">\n<h1 align="center">欢迎访问blog程序</h1>\n<h2 align="center">blog hello</h1>" > /data/app/blog/index.html

2.配置Nginx发布edu和blog程序
# edu程序
server {
        listen 8080;
        server_name edu.jiangxl.com.cn;
        charset utf-8;

        location / {
                root /data/app/edu/;
                index index.html;
        }
}

#blog程序
server {
        listen 9080;
        server_name blog.jiangxl.com.cn;
        charset utf-8;

        location / {
                root /data/app/blog/;
                index index.html;
        }
}


3.重启nginx
# nginx -s reload

4.测试edu和blog程序是否可用
[root@iZ2zeh91n0eaq0lk4xvtrmZ ~]# curl 127.0.0.1:8080/
<body bgcolor=#F0F8FF>
<h1 align=center>欢迎访问程序</h1>
<h2 align=center>edu hello</h1>

[root@iZ2zeh91n0eaq0lk4xvtrmZ ~]# curl 127.0.0.1:9080
<body bgcolor=#F0F8FF>
<h1 align=center>欢迎访问blog程序</h1>
<h2 align=center>blog hello</h1>

9.测试SLB多域名转发的SLB负载均衡配置

9.1.为SLB切换域名证书

一个监听实例只能配置一个SSL证书,而我们有3个域名,域名证书都是独立的,因此再测试某个域名前,首先需要切换证书,实际工作中肯定不能这么做,要么为每个域名分配单独的SLB,要么直接为二级域名申请证书文件。

1)点击监听实例中的管理证书

1642572810278

2)选择证书

在下拉列表中选择其他域名的证书文件即可。

1642572932344

9.2.测试各个应用系统的域名访问

全部通过https进行访问,访问每一个域名之前首先要切换证书。

1)kodcloud云盘系统的访问

1642574192660

2)edu程序的访问

1642574106395

3)blog程序的访问

1642574086127

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式