如果您的应用需要进行加密传输,您可以创建使用加密连接的HTTPS监听来转发来自HTTPS协议的请求。此功能支持在ALB实例与启动SSL或TLS会话的客户端之间进行流量加密。
前提条件
操作指引
本文为您提供以下两种方式创建HTTPS监听,您可以根据需求选择其中一种方式创建HTTPS监听。
创建HTTPS监听:您可以根据业务定制高级配置功能,如双向认证功能。
快速创建HTTPS监听:您可以快速创建监听,只需配置监听协议、监听端口、服务器证书、TLS安全策略和转发的后端服务器组。
创建HTTPS监听
步骤一:配置监听
- 登录应用型负载均衡ALB控制台。
在顶部菜单栏,选择实例所属的地域。
选择以下一种方法,打开监听配置向导。
在实例页面,找到目标实例,在操作列单击创建监听。
在实例页面,单击目标实例ID。在监听页签,单击创建监听。
在配置监听配置向导,完成以下配置,然后单击下一步。
监听配置
说明
选择监听协议
选择监听的协议类型。
本示例选择HTTPS。
监听端口
输入用来接收请求并向后端服务器进行请求转发的监听端口,本示例输入443。通常HTTP协议使用80端口,HTTPS协议使用443端口。
端口范围为1~65535。
说明同一个ALB实例内,相同协议的监听端口不能重复,且HTTP和HTTPS监听端口互不重复。
监听名称
输入监听名称。
标签
设置标签键和标签值。
设置标签后,您可以在监听页签使用标签筛选监听。
高级配置
单击修改展开高级配置。
启用HTTP 2.0
选择是否开启HTTP 2.0。
连接空闲超时时间
指定连接空闲超时时间,默认取值范围为1~60秒,如需提升配额,请
前往配额中心申请。
在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。
说明该功能对使用HTTP 2.0的请求暂不生效。
连接请求超时时间
指定请求超时时间,默认取值范围为1~180秒,如需提升配额,请前往配额中心申请。
在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回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
。查找真实客户端源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。更多信息,请参见添加转发规则。
附加HTTP头字段
默认已开启通过X-Forwarded-For头字段获取真实客户端源IP,ALB会将真实客户端源IP地址添加到HTTP头字段,并将其传递给后端服务器。更多信息,请参见通过ALB获取客户端真实IP。
选择您要添加的自定义HTTP头字段:
添加
SLB-ID
头字段获取负载均衡实例的ID。添加
X-Forwarded-Proto
头字段获取实例的监听协议。添加
X-Forwarded-Clientcert-subjectdn
头字段获取访问负载均衡实例客户端证书的所有者信息。添加
X-Forwarded-Clientcert-issuerdn
头字段获取访问负载均衡实例客户端证书的所发行者信息。添加
X-Forwarded-Clientcert-fingerprint
头字段获取访问负载均衡实例客户端证书的指纹取值。添加
X-Forwarded-Clientcert-clientverify
头字段获取访问负载均衡实例客户端证书的校验结果。添加
X-Forwarded-Port
头字段获取负载均衡实例的监听端口。添加
X-Forwarded-Client-srcport
头字段获取访问负载均衡实例客户端的端口。
开启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监听添加扩展证书。具体操作,请参见添加扩展证书。
在配置SSL证书配置向导,选择一个服务器证书。
如果您要开启HTTPS双向认证或者设置TLS安全策略,单击高级配置右侧的修改。
开启高级配置中的启用双向认证。选择CA证书来源为阿里云签发,在选择默认CA证书下拉框中选择一个CA证书。
如果没有可选的CA证书,您可以在下拉框中单击购买CA证书创建新证书。更多信息,请参见购买及启用私有CA。
说明仅标准版和WAF增强版的ALB实例支持双向认证,基础版ALB实例不支持双向认证。
开启双向认证后,如果您后续需要关闭双向认证,请参考以下步骤。
在实例页面,单击目标实例ID。
在监听页签,单击目标HTTPS协议监听ID。
在监听详情页签,在SSL证书区域关闭双向认证开关。
选择TLS安全策略,然后单击下一步。
如果没有可选的TLS安全策略,您可以在下拉框中单击创建TLS安全策略。
TLS安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件,更多信息,请参见TLS安全策略。
步骤三:选择服务器组
在选择服务器组配置向导,选择服务器组,并查看后端服务器信息,然后单击下一步。
步骤四:配置审核
在配置审核页面,确认配置信息,单击提交。
快速创建HTTPS监听
选择快速创建监听,您只需配置监听协议、监听端口、服务器证书、TLS安全策略和转发的后端服务器组。
- 登录应用型负载均衡ALB控制台。
在顶部菜单栏,选择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
。
相关文档
ALB提供了丰富的高级转发规则,具体操作请参见配置监听转发规则。
更多场景教程,请参见: