如果您的应用需要进行加密传输,您可以创建使用加密连接的HTTPS监听来转发来自HTTPS协议的请求。此功能支持在ALB实例与启动SSL或TLS会话的客户端之间进行流量加密。
前提条件
- 您已创建ALB实例。 
- 您已经在ALB实例上部署了TLS安全策略和至少一个SSL服务器证书。 
- 您已创建可用的后端服务器组。 
操作指引
本文为您提供以下两种方式创建HTTPS监听,您可以根据需求选择其中一种方式创建HTTPS监听。
- 创建HTTPS监听:您可以根据业务定制高级配置功能,如双向认证功能。 
- 快速创建HTTPS监听:您可以快速创建监听,只需配置监听协议、监听端口、服务器证书、TLS安全策略和转发的后端服务器组。 
创建HTTPS监听
步骤一:配置监听
- 在顶部菜单栏,选择实例所属的地域。 
- 选择以下一种方法,打开监听配置向导。 - 在实例页面,找到目标实例,在操作列单击创建监听。 
- 在实例页面,单击目标实例ID。在监听页签,单击创建监听。 
 
- 在配置监听配置向导,完成以下配置,然后单击下一步。 - 监听配置 - 说明 - 选择监听协议 - 选择监听的协议类型。 - 本示例选择HTTPS。 - 监听端口 - 输入用来接收请求并向后端服务器进行请求转发的监听端口,本示例输入443。通常HTTP协议使用80端口,HTTPS协议使用443端口。 - 端口范围为1~65535。 说明- 同一个ALB实例内,相同协议的监听端口不能重复,且HTTP和HTTPS监听端口互不重复。 - 监听名称 - 输入监听名称。 - 标签 - 设置标签键和标签值。 - 设置标签后,您可以在监听页签使用标签筛选监听。 - 高级配置 - 单击修改展开高级配置。 - 启用HTTP 2.0 - 选择是否开启HTTP 2.0。 - 连接空闲超时时间 - 指定连接空闲超时时间,取值范围为1~600秒,默认为15秒。如需提升配额,请前往配额中心申请。 - 在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。 说明- 该功能对使用HTTP 2.0的请求暂不生效。 - 连接请求超时时间 - 指定请求超时时间,取值范围为1~600秒,默认为60秒。如需提升配额,请前往配额中心申请。 - 在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。 - 数据压缩 - 开启该配置会对特定文件类型进行压缩,关闭该配置则不会对任何文件类型进行压缩。 - 目前Brotli支持压缩所有类型。 
- Gzip支持压缩的类型包括: - text/xml、- text/plain、- text/css、- application/javascript、- application/x-javascript、- application/rss+xml、- application/atom+xml、- application/xml和- application/json。
 说明- 仅当响应内容的 - Content-Length值超过1024字节时,才会触发数据压缩。
- 当客户端请求同时支持Brotli和Gzip压缩算法时,ALB会优先选择更高效的压缩算法Brotli。 
- 当客户端仅支持Gzip压缩算法时,若文件类型为Gzip不支持的类型,则ALB不会进行压缩。 
 - 查找真实客户端源IP - 允许ALB从X-Forwarded-For头字段中查找真实客户端IP开关。开启后,您需要设置可信IP列表。 - 可信IP列表设置为 - 0.0.0.0/0:表示获取X-Forwarded-For请求标头中最左边的地址,即真实客户端源IP。
- 可信IP列表设置为 - proxy1 IP;proxy2 IP;..:表示从右往左获取第一个不在这个列表里面的值,并将其作为真实客户端源IP。
 - 使用场景说明: - 当X-Forwarded-For请求标头中包含多个IP地址时,例如 - X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …,最左边的地址是真实客户端IP,如果您需要使用ALB转发规则中基于SourceIp匹配和QPS(基于客户端源IP限速)功能,您需要打开查找真实客户端源IP开关,以便ALB从X-Forwarded-For头字段中查找真实客户端源IP。更多信息,请参见添加转发规则。说明- 仅标准版、WAF增强版ALB实例支持开启查找真实客户端源IP,基础版ALB实例不支持。 - 附加HTTP头字段 - 选择您要添加的自定义HTTP头字段: - 选择是否开启 - X-Forwarded-For头字段来获取来访者客户端IP地址。- 开启 - X-Forwarded-For头字段:- ALB将请求发送至后端服务器之前附加、删除请求中的 - X-Forwarded-For头字段。- 附加(默认) - 默认情况下,ALB会将客户端IP地址保存到X-Forwarded-For头字段中,并将该头字段信息发送至后端服务器。如果原始请求中未包含X-Forwarded-For头字段,ALB会创建以客户端IP地址为请求值的X-Forwarded-For头字段。否则,ALB会将客户端IP地址附加到现有X-Forwarded-For头字段中,然后将头字段发送至后端服务器。X-Forwarded-For 请求头字段可能包含多个以逗号分隔的 IP 地址。 
- 删除 - ALB将请求发送至后端服务器之前,会删除请求中的 - X-Forwarded-For头字段。
 
- 关闭 - X-Forwarded-For头字段:- ALB将请求发送至后端服务器之前,不会对请求中的 - X-Forwarded-For头字段进行任何修改。
 - 字段格式: - X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …- ALB如何获取客户端真实IP教程,请参见后端服务器通过ALB获取客户端真实IP。 
- 添加 - SLB-ID头字段获取负载均衡实例的ID。
- 添加 - X-Forwarded-Proto头字段获取实例的监听协议。
- 添加 - X-Forwarded-Port头字段获取负载均衡实例的监听端口。
- 添加 - X-Forwarded-Host头字段获取访问负载均衡实例客户端的域名。
- 添加 - X-Forwarded-Client-srcport头字段获取访问负载均衡实例客户端的端口。
- 添加 - X-Forwarded-Clientcert-subjectdn头字段获取访问负载均衡实例客户端证书的所有者信息。
- 添加 - X-Forwarded-Clientcert-issuerdn头字段获取访问负载均衡实例客户端证书的所发行者信息。
- 添加 - X-Forwarded-Clientcert-fingerprint头字段获取访问负载均衡实例客户端证书的指纹取值。
- 添加 - X-Forwarded-Clientcert-clientverify头字段获取访问负载均衡实例客户端证书的校验结果。
 说明- 建议您的后端服务器在获取HTTP头字段时,遵循HTTP协议规范,不区分HTTP头字段键值的大小写。 - ALB向后端服务器传递X-Forwarded-For附加头字段的首字母始终保持大写。 
- 针对其他附加HTTP头字段,如果客户端请求中携带某个头字段,ALB会按照客户端请求中头字段格式向后端服务器传递。否则,ALB会根据上表所示附加头字段的字段名格式向后端服务器传递。 
 
- 开启X-Forwarded-Clientcert-subjectdn、X-Forwarded-Clientcert-issuerdn、X-Forwarded-Clientcert-fingerprint和X-Forwarded-Clientcert-clientverify时,不允许将自定义的HTTP头名称设置为以下字段: - slb-id、- slb-ip、- x-forwarded-for、- x-forwarded-proto、- x-forwarded-eip、- x-forwarded-port、- x-forwarded-client-srcport、- x-forwarded-host、- connection、- upgrade、- content-length、- transfer-encoding、- keep-alive、- te、- host、- cookie、- remoteip、- authority。
 - 开启QUIC升级 - 选择是否开启QUIC升级,如果开启QUIC升级,请在关联的QUIC监听下拉列表中选择一个已创建的QUIC监听。 - 如果您未创建QUIC监听,单击创建监听,创建一个QUIC监听。具体操作,请参见添加QUIC监听。 
- ALB支持iQUIC和gQUIC,具体使用教程请参见使用QUIC协议提升音视频业务访问速度。 
 
步骤二:配置SSL证书
添加HTTPS监听,您需要配置SSL证书以确保您的业务受到加密保护并得到权威机构的身份认证。下表列出了ALB支持配置的证书及证书说明。
| 证书 | 说明 | 单向认证是否需要 | 双向认证是否需要 | 
| 服务器证书 | 用来证明服务器的身份。 您的浏览器用来检查服务器发送的证书是否是由您信赖的中心签发的。更多信息,请参见什么是SSL证书。 | 是 您可在证书中心购买或上传服务器证书,ALB从证书中心获取该证书并使用。 | 是 您可在证书中心购买或上传服务器证书,ALB从证书中心获取该证书并使用。 | 
| CA证书 | 服务器用CA证书验证客户端证书的签名。如果没有通过验证,拒绝连接。 说明  客户端用户在与服务器端通信时,客户端证书用来证明客户端用户的真实身份。客户端证书仅需要在客户端安装。 | 否 | 是 您可在证书中心购买或上传CA证书,ALB从证书中心获取该证书并使用。 | 
- 由于新证书的上传、加载及验证过程均需一定时间,因此使用HTTPS协议的实例在应用新证书后,也需要一定时间生效。通常生效时间为一分钟,最长不会超过三分钟。 
- 如果您有多域名访问或挂载多个服务器证书的需求,配置完HTTPS监听后,您可以选择为该HTTPS监听添加扩展证书。 
- 在配置SSL证书配置向导,选择一个服务器证书。 
- 可选:打开启用双向认证,选择CA证书来源。 - 选择CA证书来源为阿里云签发,在选择默认CA证书下拉框中选择一个CA证书。 - 如果没有可选的CA证书,您可以在下拉框中单击购买CA证书,以创建新CA证书。 
- 选择CA证书来源为非阿里云签发,在选择默认CA证书下拉框中选择一个CA证书。 - 如果没有可选的自签名CA证书,您可以在下拉框中单击上传自签CA证书,在证书应用仓库页面,创建数据来源为上传CA证书的仓库,然后通过证书应用仓库上传自签名根CA或自签名子根CA证书。 
 说明- 仅标准版和WAF增强版的ALB实例支持双向认证,基础版ALB实例不支持双向认证。 
- 开启双向认证后,如果您后续需要关闭双向认证,请参考以下步骤。 - 在实例页面,单击目标实例ID。 
- 在监听页签,单击目标HTTPS协议监听ID。 
- 在监听详情页签,在SSL证书区域关闭双向认证开关。 
 
 
- 选择TLS安全策略,然后单击下一步。 - 如果没有可选的TLS安全策略,您可以在下拉框中单击创建TLS安全策略。 - TLS安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。 
步骤三:选择服务器组
在选择服务器组配置向导,选择服务器组,并查看后端服务器信息,然后单击下一步。
步骤四:配置审核
在配置审核页面,确认配置信息,单击提交。
快速创建HTTPS监听
选择快速创建监听,您只需配置监听协议、监听端口、服务器证书、TLS安全策略和转发的后端服务器组。
- 在顶部菜单栏,选择ALB实例的所属地域。 
- 在实例页面,找到目标实例,单击实例ID。 
- 单击监听页签,在监听页签单击快速创建监听。 
- 在快速创建监听对话框中,完成以下参数的配置,然后单击确定。 
常见问题
HTTPS支持哪些SSL协议版本?
TLS 1.0、TLS 1.1、TLS 1.2以及TLS 1.3版本,更多信息,请参见TLS安全策略。
后端服务器能否获取客户端访问HTTPS监听的协议版本?
可以。
HTTPS监听访问后端服务器的HTTP协议版本是什么?
- 客户端请求的协议为HTTP 1.1或者HTTP 2.0版本时,七层监听访问后端服务器的HTTP协议版本是HTTP 1.1。 
- 客户端请求的协议为除HTTP 1.1和HTTP 2.0以外其他版本时,七层监听访问后端服务器的HTTP协议版本是HTTP 1.0。 
ALB监听证书为通配符证书(泛域名证书)时,需满足哪些规则?
ALB实例添加HTTPS监听时,若选择的证书为通配符证书(泛域名证书)时,请注意以下规则。
- 选择通配符证书时,ALB仅能够识别包含一个通配符 - *、且通配符- *放置在最左边的通配符证书。例如ALB可以识别- *.example.com和- *test.example.com,但不能识别- test*.example.com。
- 通配符域名匹配规则: - 通配符级别:通配符域名只能匹配相同级别的任意子域名。例如, - *.example.com可以匹配- test.example.com,但不能匹配- test.test.example.com(因为该子域名和通配符域名级别不同)。
- IDNA支持情况: - 若通配符证书中通配符是最左侧标签的唯一字符,那么IDNA标签可与该通配符匹配,例如, - xn--fsqu00a.example.com可以匹配- *.example.com。
- 若通配符证书中通配符不是最左侧标签的唯一字符,那么IDNA标签不可与该部分通配符匹配,例如, - xn--fsqu00atest.example.com不能匹配- *test.example.com。
 
- 字符支持情况:通配符证书中的通配符 - *仅支持匹配数字0~9、大小写字母和中划线(-)。例如,- *.example.com可以匹配- test.example.com,但不能匹配- test_test.example.com。
 
HTTPS session ticket的保持时间是多久?
HTTPS session ticket保持时间为300秒。
相关文档
产品教程
- ALB提供了丰富的高级转发规则,具体操作请参见配置监听转发规则。 
- 如果遇到返回异常状态码问题,您可参考ALB状态码说明。 
- 如果遇到健康检查异常问题,您可参考ALB健康检查异常排查方法。 
- 更多场景教程,请参见: - 使用ALB将HTTP访问重定向至HTTPS:通过ALB监听转发规则,可将HTTP协议的请求重定向到HTTPS,从而确保数据传输加密,防止中间人攻击和数据泄露,帮助您轻松构建符合现代安全标准的网络架构。 
- 配置全链路HTTPS访问实现加密通信:ALB提供全链路HTTPS加密功能,可以实现客户端到ALB、ALB到后端服务器之间的全链路加密通信,提升敏感业务的安全性。 
- 单ALB实例配置多域名HTTPS网站:当您需要将不同域名的HTTPS访问请求转发至不同的后端服务器时,您可以通过ALB的HTTPS监听绑定多个证书,并配置基于域名的转发规则,实现多域名HTTPS网站的访问。 
- 使用ALB部署HTTPS业务(双向认证):在需要高安全性验证的场景(如金融、医疗等)下,可通过ALB的HTTPS双向认证功能,实现客户端与服务器之间的相互身份验证,确保数据传输的安全性。