HTTPS是在HTTP基础上加入了SSL/TLS加密协议的安全版本,用于保护数据在客户端和服务器之间的传输安全。您的业务如果需要传输一些敏感数据例如用户信息或身份信息,或者您想提升您的业务安全性避免可能存在的安全风险,您可以创建使用加密连接的HTTPS监听来转发来自HTTPS协议的请求。
前提条件
您已经创建CLB实例,具体操作,请参见创建和管理CLB实例。
步骤一:配置监听
- 登录传统型负载均衡CLB控制台。
在顶部菜单栏处,选择实例所属的地域。
选择以下一种方法,打开监听配置向导。
在实例管理页面,找到目标实例,然后在操作列单击监听配置向导。
在实例管理页面,单击目标实例ID,在实例详情页选择监听页签,然后单击添加监听。
在协议&监听配置向导,完成以下参数的配置,然后单击下一步。
监听配置
说明
选择监听协议
选择监听的协议类型。
本文选择HTTPS。
后端协议
当本文选择的是HTTPS协议时,后端协议为HTTP协议。
监听端口
用来接收请求并向后端服务器进行请求转发的监听端口。端口范围为1~65535。
监听名称
设置自定义监听名称。
标签
选择或输入标签键与标签值。
高级配置
单击修改展开高级配置。
调度算法
选择调度算法。
加权轮询(WRR):权重值越高的后端服务器,被轮询到的次数(概率)也越高。
轮询(RR):按照访问顺序依次将外部请求分发到后端服务器。
开启会话保持
选择是否开启会话保持。
开启会话保持功能后,负载均衡会把来自同一客户端的访问请求分发到同一台后端服务器上进行处理。
Cookie处理方式:
植入Cookie:您只需要指定Cookie的过期时间。
客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入ServerId),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。
会话保持超时时间:选择植入Cookie时,输入会话保持的超时时间。
重写Cookie:可以根据需要指定HTTPS或HTTP响应中插入的Cookie。您需要在后端服务器上维护该Cookie的过期时间和生存时间。
负载均衡服务发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。
Cookie名称:选择重写Cookie时,输入Cookie名称。
启用HTTP2.0
选择是否开启CLB前端协议版本为HTTP 2.0。
启用访问控制
选择是否启用访问控制。
开启访问控制后,选择一种访问控制方式,并设置访问控制策略组,作为该监听的白名单或黑名单。
- 白名单:允许特定IP访问负载均衡SLB,仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。
如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。
- 黑名单:禁止特定IP访问负载均衡SLB,不会转发来自所选访问控制策略组中设置的IP地址或地址段,黑名单适用于只限制某些特定IP访问的场景。
如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。
说明IPv6实例只能绑定IPv6访问控制策略组,IPv4实例只能绑定IPv4访问控制策略组。详情参见创建访问控制策略组。
开启监听带宽限速
选择是否配置监听带宽。
对于按带宽计费的负载均衡实例,您可以针对不同监听设定不同的带宽峰值来限定监听的流量。实例下所有监听的带宽峰值总和不能超过该实例的带宽。默认不开启,各监听共享实例的总带宽。
重要如果公网CLB整体公网带宽为5 Mbps,配置两个监听, 其中A监听分配带宽5 Mbps, B监听没有分配带宽,则会出现B监听端口访问不通的情况,请谨慎分配带宽。
如果私网CLB配置三个监听,A、B监听共分配带宽5120 Mbps,则剩下的C监听会出现端口访问不通的情况,请谨慎分配带宽。
使用流量计费方式的实例默认不限制带宽峰值。
连接空闲超时时间
指定连接空闲超时时间。
在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。
连接请求超时时间
指定请求超时时间。
在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。
Gzip数据压缩
开启该配置对特定文件类型进行压缩,关闭则不会对任何文件类型进行压缩。
目前Gzip支持压缩的类型包括:
text/xml
、text/plain
、text/css
、application/javascript
、application/x-javascript
、application/rss+xml
、application/atom+xml
和application/xml
。附加HTTP头字段
选择您要添加的自定义HTTP头字段:
添加
X-Forwarded-For
头字段获取客户端真实IP。说明CLB七层监听默认开启通过X-Forwarded-For头字段获取客户端真实IP功能,不支持关闭。
添加
SLB-ID
头字段获取负载均衡实例的ID。添加
SLB-IP
头字段获取负载均衡实例IP地址。添加
X-Forwarded-Proto
头字段获取负载均衡的监听协议。
获取客户端真实IP
获取来访者的真实IP地址,默认开启。
创建完毕自动启动监听
是否在监听配置完成后启动负载均衡监听,默认开启。
步骤二:配置SSL证书
证书说明
添加HTTPS监听,您需要上传服务器证书或CA证书并选择TLS安全策略,证书对比如下表所示。
证书 | 说明 | 单向认证是否需要 | 双向认证是否需要 |
服务器证书 | 用来证明服务器的身份。 您的浏览器用来检查服务器发送的证书是否是由自己信赖的中心签发的。更多信息,请参见什么是SSL证书。 | 是 服务器证书需要上传到负载均衡的证书管理系统。 | 是 服务器证书需要上传到负载均衡的证书管理系统。 |
CA 证书 | 服务器使用CA证书验证客户端证书的签名。如果未通过验证,则拒绝连接。 说明 客户端用户在与服务器端通信时,客户端证书用来证明客户端用户的真实身份。客户端证书仅需要在客户端安装。 | 否 | 是 CA证书需要上传到负载均衡的证书管理系统。 |
注意事项
在上传证书前,请注意:
目前阿里云负载均衡支持的公钥算法:RSA 1024、RSA 2048、RSA 4096、ECDSA P-256、ECDSA P-384和ECDSA P-521。
上传的证书格式必须是PEM。
证书上传到负载均衡后,负载均衡即可管理证书,不需要在后端ECS上绑定证书。
因为证书的上传、加载和验证都需要一些时间,所以使用HTTPS协议的实例生效也需要一些时间。一般一分钟后就会生效,最长不会超过三分钟。
HTTPS监听使用的ECDHE算法簇支持前向保密技术,不支持将DHE算法簇所需要的安全增强参数文件上传,即PEM证书文件中含有
BEGIN DH PARAMETERS
字段的字符串上传。更多信息,请参见证书要求。HTTPS监听的会话ticket保持时间默认为300秒。
HTTPS监听实际产生的流量会比账单流量更多一些,因为会使用一些流量用于协议握手。
在新建连接数很高的情况下,会占用较大的流量。
操作步骤
步骤三:添加后端服务器
添加处理前端请求的后端服务器。您可以使用实例配置的默认服务器组,也可以为监听配置一个虚拟服务器组。更多信息,请参见后端服务器概述。
本文以默认后端服务器组为例。
在后端服务器配置页面,选择默认服务器组,然后单击继续添加。
在我的服务器面板,选择要添加的后端服务器,然后单击下一步。
在权重列下,配置添加的后端服务器的权重。
说明权重越大ECS实例将被分配到更多的访问请求,默认为100。可通过单击重置修改权重为默认值。
权重设置为0,该服务器不会再接受新请求。
单击添加,配置后端服务器用来接收请求的端口。然后单击下一步。
同一个负载均衡实例内,后端服务器端口可以相同。
步骤四:配置健康检查
CLB通过健康检查来判断后端服务器(ECS实例)的业务可用性。健康检查机制提高了前端业务整体可用性,避免了后端ECS异常对总体服务的影响。
可选:在健康检查配置向导,单击修改更改健康检查配置。
具体操作,请参见配置和管理CLB健康检查。
单击下一步。
步骤五:提交配置
在配置审核配置向导,检查监听配置,您可以单击修改更改配置。
确认无误后,单击提交。
等待配置成功后,单击知道了。
配置成功后,您可以在监听页面查看已创建的监听。
相关文档
HTTPS在安全性方面提供了更好的保护,但可能会增加一些开销,如计算资源和网络延迟,在内部网络通信、测试和开发环境或者非敏感信息传输等场景,您也可选择性使用HTTP监听,具体操作可参考添加HTTP监听。在实际生产环境中,建议您使用HTTPS进行加密传输。
后端服务器组的操作,您可参考:
健康检查原理,您可参考CLB健康检查工作原理。配置健康检查参数的详细介绍,您可参考配置和管理CLB健康检查。
负载均衡调度算法介绍,您可参考负载均衡调度算法介绍。
如果您需要为HTTPS监听添加域名或URL的转发策略,请参见基于域名或URL路径进行转发。
如果您需要将HTTP访问重定向至HTTPS,请参见将HTTP访问重定向至HTTPS。
如果您需要使用CLB部署HTTPS单向认证业务,请参见使用CLB部署HTTPS业务(单向认证)。
如果您需要使用CLB部署HTTPS双向认证业务,请参见使用CLB部署HTTPS业务(双向认证)。
如果您需要使用CLB配置多域名HTTPS网站,请参见单CLB实例配置多域名HTTPS网站。
当您使用HTTPS监听时,如果您需要后端服务器通过CLB获取客户端真实IP地址,你可参考教程通过CLB七层监听获取客户端真实IP进行配置。