腾讯云clb实现https进行转发,七层反代
四层负载均衡和七层负载均衡有什么区别?
四层均衡能力,是基于 IP + 端口的负载均衡 ,七层是基于应用层信息(如 HTTP 头部、URL 等)的负载均衡。
四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。
例如,四层的负载均衡,就是通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行 NAT 处理,转发至后台服务器,并记录下这个 TCP 或者 UDP 的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。
七层的负载均衡,就是在四层的基础上,再考虑应用层的特征。
例如,同一个 Web 服务器的负载均衡,除了根据 VIP 和80端口辨别是否需要处理的流量,还可根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡。
七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
七层负载均衡要根据真正的应用层内容选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,以及负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立 TCP 连接。
实现效果:
使用腾讯云clb配置七层负载 实现用户访问web,请求自动跳转到https页面,反向代理
实验需要的环境:
2台cvm
1个clb
1个备案过的域名
申请ssl证书
步骤1.0:
cvm搭建web服务,这里使用的是nginx,直接拿yum安装即可
[root@01 ~]# yum -y install nginx
[root@02 ~]# yum -y install nginx
1.1启动服务,设置开机自启
[root@01 ~]# systemctl start nginx
[root@01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@02 ~]# systemctl start nginx
[root@02 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
1.2为了方便区别,这边将默认的网址改为‘1111111111’ ‘22222222222222’
[root@01 ~]# echo ‘1111111111111’> /usr/share/nginx/html/index.html
[root@01 ~]# echo '1111111111111'> /usr/share/nginx/html/index.html
[root@02 ~]# echo '2222222222222'> /usr/share/nginx/html/index.html
=====================================================================================
1.3创建clb实例
这里购买lb实例配置时,地域,可用区,所属网络为同一vpc。 最好跟购买的cvm为同一个可用区,为了避免出现一些未知的问题
1.4这里创建完成后,就可以在控制台显示出来了。VIP则为lb的ip
1.5配置HTTPS监听器
HTTPS 监听器简介
您可以在负载均衡实例上添加一个 HTTPS 监听器转发来自客户端的 HTTPS 协议请求。HTTPS 协议适用于需要加密传输的 HTTP 应用。
前提条件
您需要 创建负载均衡实例。
配置 HTTPS 监听器
步骤1:打开监听器管理页面
> 登录 负载均衡控制台。
> 在左侧导航栏,选择【实例管理】。
> 在 CLB 实例列表页单击需配置的实例 ID,进入实例详情页。
> 单击【监听器管理】标签页,您也可以在列表页的操作栏中单击【配置监听器】。
“监听器管理”页面如下图所示。
步骤2:配置监听器
在 HTTP/HTTPS 监听器模块下,单击【新建】,在弹出框中配置 HTTPS 监听器。
2. 创建转发规则
注意:添加的服务器证书需要存在,如果没有 可以先在证书控制台去申请,申请步骤请继续往下看
**
注意:这里的ssl证书,是使用的腾讯云免费申请的证书,在申请证书的时候,![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ca4cdb35592911ab1d8d6383de4145ce.png)
**
注意:填写的证书域名要和创建clb监听器的域名一致!
**
采用dns验证方式,下一步
跳到这一步,就快完成了,证书这边会提供1、域名 2、主机记录 3、记录类型 4、记录值
需要您在您的域名解析控制台。dnspod上添加如上对应的TXT记录,等待解析成功即可使用了。配置完成大约10分钟生效
**
2. 创建转发规则
3. 健康检查
4. 会话保持
步骤3:绑定后端云服务器
-
在“监听器管理”页面,单击已创建完毕的监听器,如上述 HTTPS:443 监听器,单击左侧的【+】展开域名和 URL 路径,选中具体的
URL 路径,即可在监听器右侧查看该路径上已绑定的后端服务。
单击【绑定】,在弹出框中选择需绑定的后端服务器,并配置服务端口和权重。添加端口功能:在右侧“已选择”云服务器框内,单击【添加端口】,即可添加同一个云服务器的多个端口,如同时添加 CVM 的 80、81、82 三个端口。
默认端口功能:先填写“默认端口”,再选择云服务器,每台云服务器的端口均为默认端口。
步骤4:安全组(可选)
您可以配置负载均衡的安全组来进行公网流量的隔离,详情请参见 配置负载均衡安全组。
步骤5:修改/删除监听器(可选)
如果您需要修改或删除已创建的监听器,请在“监听器管理”页面,单击已创建完毕的监听器/域名/URL 路径,选择【修改】或【删除】完成操作。
1.6这里绑定完后端服务后,健康检查为‘健康’ 则成功
1.7验证:这里在浏览器直接访问域名,无法打开,因为咱们配置的是https转发,所以需要添加前缀为https://xxx.xxx.xxx
成功,刷新,分别为111和2222对应的两台后端nginx服务,如果业务有需求,想吧请求打在一台配置较高机器,可以添加权重
验证如下:
1.8这里发现一个问题,如果不加https前缀,则无法调整到页面,这里选择重定向配置。原理就是,
原前端协议/端口nginx机器,80重定向到HTTPS:443端口上,这样后端服务开的80端口 实际上请求就打到https:443端口上了。用户访问侧是无感知到后端服务具体是什么端口,只能看到跳转为https
配置方法:勾选【自动重定向配置】下一步即可
此操作,无须在后端nginx上修改配置文件,后端服务器只需吧网站目录对应好就行了,非常的方便
最后验证结果则为,不管输入域名 还是https://域名 都是跳转为https。实现clb。https反代效果
本博文,由博主亲自实操验证可以成功,仅为交流学习,如果觉得对您有所帮助, 辛苦三连支持一下。非常感谢~~