HTTPS是在HTTP基础上加入了SSL/TLS加密协议的安全版本,用于保护客户端和服务器之间的数据传输安全。您的业务如果需要传输一些敏感数据例如用户信息或身份信息,或者您想提升您的业务安全性避免可能存在的安全风险,您可以创建HTTPS监听处理来自客户端的HTTPS请求。
前提条件
您已经创建CLB实例,具体操作,请参见创建和管理CLB实例。
使用限制
在配置HTTPS监听时,后端协议只支持HTTP协议,因此后端服务器的端口必须设置为HTTP的端口(通常为80),而不是HTTPS的端口(通常为443),且HTTP端口不能配置HTTP到HTTPS的重定向。
注意事项
HTTPS监听的会话ticket保持时间默认为300秒。
HTTPS监听实际产生的流量会比账单中显示的流量更多一些,因为会使用一些流量用于协议握手。
在新建连接数很高的情况下,会占用较大的流量。
操作步骤
步骤一:配置监听
在顶部菜单栏处,选择实例所属的地域。
在实例管理页面,找到目标实例,选择以下一种方式配置监听。
在操作列单击监听配置向导。
单击实例ID,在实例详情页选择监听页签,单击添加监听。
在协议&监听配置向导,完成以下参数的配置,然后单击下一步。
监听配置
说明
选择监听协议
选择监听的协议类型。
本文选择HTTPS。
后端协议
监听协议是HTTPS协议时,后端协议为HTTP协议。
监听端口
用来接收请求并向后端服务器进行请求转发的监听端口。端口范围为1~65535。
标签
选择或输入标签键与标签值。
高级配置
单击修改展开高级配置。
调度算法
支持选择以下调度算法,默认选择轮询 (RR)。
加权轮询(WRR):权重值越高的后端服务器,被轮询到的次数(概率)也越高。
轮询(RR):按照访问顺序依次将外部请求分发到后端服务器。
调度算法的详细介绍及适用场景,请参见负载均衡调度算法介绍。
开启会话保持
默认关闭会话保持。
开启会话保持功能后,负载均衡会把来自同一客户端的访问请求分发到同一台后端服务器上进行处理。
Cookie处理方式:
植入Cookie:您只需要指定Cookie的过期时间。
客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入ServerId),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。
会话保持超时时间:选择植入Cookie时,输入会话保持的超时时间。
重写Cookie:可以根据需要指定HTTPS或HTTP响应中插入的Cookie。您需要在后端服务器上维护该Cookie的过期时间和生存时间。
负载均衡服务发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。
Cookie名称:选择重写Cookie时,输入Cookie名称。
启用HTTP2.0
默认启用HTTP 2.0。
HTTP 2.0引入了多路复用(Multiplexing)的特性,开启CLB前端协议版本为HTTP 2.0后,CLB实例会通过一个TCP连接同时传输多个HTTP请求和响应,以此提高传输性能。
启用访问控制
默认关闭访问控制。
开启访问控制后,选择一种访问控制方式,并设置访问控制策略组,作为该监听的白名单或黑名单。
- 白名单:允许特定IP访问负载均衡SLB,仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。
如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。
- 黑名单:禁止特定IP访问负载均衡SLB,不会转发来自所选访问控制策略组中设置的IP地址或地址段,黑名单适用于只限制某些特定IP访问的场景。
如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。
说明IPv6实例只能绑定IPv6访问控制策略组,IPv4实例只能绑定IPv4访问控制策略组。访问控制策略的配置请参见创建访问控制策略组。
开启监听带宽限速
对于按带宽计费的负载均衡实例,您可以针对不同监听设定不同的带宽峰值来限定监听的流量。实例下所有监听的带宽峰值总和不能超过该实例的带宽。
默认不开启,各监听共享实例的总带宽,如何共享总带宽,请参见CLB监听共享实例带宽。
重要如果公网CLB整体公网带宽为5 Mbps,配置两个监听, 其中A监听分配带宽5 Mbps, B监听没有分配带宽,则会出现B监听端口访问不通的情况,请谨慎分配带宽。
如果私网CLB配置三个监听,A、B监听共分配带宽5120 Mbps,则剩下的C监听会出现端口访问不通的情况,请谨慎分配带宽。
使用流量计费方式的实例默认不限制带宽峰值。
连接空闲超时时间
CLB实例和客户端之间的TCP连接在没有数据传输的情况下保持连接打开的最长时间。默认取值范围:1~60秒。
在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。
说明设置连接超时时间后,该设置将应用于整个监听,若需要为某个后端服务器设置连接超时时间,则应为此后端服务器单独配置监听,并在新的监听中设置连接超时时间。
连接请求超时时间
在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。
默认取值范围为1~180秒。
Gzip数据压缩
开启该配置对特定文件类型进行压缩,关闭则不会对任何文件类型进行压缩。默认开启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功能,不支持关闭,若通过此字段获取了多个IP地址,获取的第一个地址就是客户端真实IP。具体操作,请参见通过CLB七层监听获取客户端真实IP。
添加
SLB-ID
头字段获取负载均衡实例的ID。添加
SLB-IP
头字段获取负载均衡实例IP地址。添加
X-Forwarded-Proto
头字段获取负载均衡的监听协议。添加
X-Forwarded-Port
头字段获取负载均衡实例的监听端口。添加
X-Forwarded-Client-srcport
头字段获取访问负载均衡实例客户端的端口。
说明X-Forwarded-Port字段和X-Forwarded-Client-srcport字段,仅华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口)、华南1(深圳)、中国香港、新加坡地域支持。
获取客户端真实IP
获取来访者的真实IP地址,默认开启。
创建完毕自动启动监听
是否在监听配置完成后启动负载均衡监听,默认开启。
步骤二:配置SSL证书
步骤三:添加后端服务器
添加处理前端请求的后端服务器。您可以使用实例配置的默认服务器组,也可以为监听配置一个虚拟服务器组。更多信息请参见CLB服务器组。本文以默认后端服务器组为例进行配置说明。
HTTPS监听不支持添加主备服务器组。
在后端服务器配置向导,选择默认服务器组,单击继续添加。
在选择服务器配置向导,选择要添加的后端服务器,单击下一步。
在配置端口和权重配置向导,设置权重,单击添加。
说明权重默认为100,权重越高的后端服务器将被分配到更多的访问请求。
权重设置为0的服务器不会接受新请求。
配置后端服务器(ECS实例)接收请求的端口,单击下一步。端口范围为1~65535。
说明同一个负载均衡实例内,后端服务器端口可以相同。
步骤四:配置健康检查
CLB通过健康检查判断后端服务器的可用性,提升前端业务整体可用性,避免后端服务器异常影响服务。
主备服务器组的监听不能关闭健康检查。
可选:在健康检查配置向导,单击修改更改健康检查配置,单击下一步。具体请参见配置和管理CLB健康检查。
在配置审核配置向导中检查监听配置,单击修改更改配置。
确认无误后,单击提交,配置成功后,单击知道了。
配置成功后,您可以在页面查看已创建的监听。
常见问题
负载均衡CLB支持配置HTTPS监听实现全链路HTTPS访问吗?
不支持。由于配置HTTPS监听时,后端协议只支持HTTP协议,因此当负载均衡CLB接收到客户端发送的HTTPS请求后,会先进行解密将解密后的数据以HTTP协议的形式转发到后端服务器,以此来简化后端服务器的配置,避免HTTPS的TLS握手消耗性能。
您可以通过以下两种方式实现业务的全链路HTTPS访问:
通过创建应用层负载均衡ALB实例并配置HTTPS监听,实现业务的全链路HTTPS访问。具体操作,请参见配置全链路HTTPS访问实现加密通信。
通过为传统型负载均衡CLB实例配置TCP监听,并在对应后端服务器中配置SSL证书。
HTTPS监听使用什么端口?
HTTPS监听对端口无特殊要求,建议您使用443端口。
负载均衡支持哪些类型的证书?
支持上传PEM格式的服务器证书和CA证书。
服务器证书需要上传证书内容和私钥,CA证书只需要上传证书内容。
负载均衡是否支持keytool创建的证书?
支持。
但在上传证书前,您需要将证书转换为PEM格式,更多信息,请参见转换证书格式。
可以使用PKCS#12(PFX)格式的证书么?
可以。
但在上传证书前,您需要将证书转换为PEM格式,更多信息,请参见转换证书格式。
添加证书时,为什么会出现KeyEncryption的错误?
该错误是由于私钥内容有误导致。更多信息,请参见证书要求和转换证书格式。
负载均衡HTTPS支持哪些SSL协议版本?
TLSv1.0、TLSv1.1、TLSv1.2以及TLSv1.3版本。
HTTPS session ticket的保持时间是多久?
HTTPS session ticket保持时间为300秒。
可以上传包含DH PARAMETERS字段的证书吗?
HTTPS监听使用的ECDHE算法簇支持前向保密技术,不支持将DHE算法簇所需要的安全增强参数文件上传,即不支持将PEM证书文件中含BEGIN DH PARAMETERS字段的证书上传。
HTTPS监听是否支持SNI?
SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展,负载均衡HTTPS监听支持SNI功能,更多信息,请参见添加和管理CLB扩展域名。
相关文档
HTTPS在安全性方面提供了更好的保护,但可能会增加一些开销,如计算资源和网络延迟,在内部网络通信、测试和开发环境或者非敏感信息传输等场景,您也可选择性使用HTTP监听,具体操作可参考添加HTTP监听。在实际生产环境中,建议您使用HTTPS进行加密传输。
后端服务器组的操作,您可参考:
健康检查原理,您可参考CLB健康检查。配置健康检查参数的详细介绍,您可参考配置和管理CLB健康检查。
负载均衡调度算法介绍,您可参考负载均衡调度算法介绍。
如果您需要为HTTPS监听添加域名或URL的转发策略,请参见基于域名或URL路径进行转发。
如果您需要将HTTP访问重定向至HTTPS,请参见使用CLB将HTTP访问重定向至HTTPS。
如果您需要使用CLB部署HTTPS单向认证业务,请参见使用CLB部署HTTPS业务(单向认证)。
如果您需要使用CLB部署HTTPS双向认证业务,请参见使用CLB部署HTTPS业务(双向认证)。
如果您需要使用CLB配置多域名HTTPS网站,请参见单CLB实例配置多域名HTTPS网站。
当您使用HTTPS监听时,如果您需要后端服务器通过CLB获取客户端真实IP地址,您可参考教程通过CLB七层监听获取客户端真实IP进行配置。