用 TCPSSL 监听实现加密传输时,需要在NLB配置证书,NLB 的所有证书统一由阿里云数字证书管理服务进行存储和管理,您需要先购买证书或将持有的证书上传至数字证书管理服务,才能在 NLB 上使用。
工作原理
证书类型
CA证书:CA(Certificate Authority)是一个受信任的第三方机构,专门负责审核和颁发证书。CA证书用来验证其他证书是否合法,比如检查证书是否由可信CA签发。
服务器证书:又称SSL证书,由CA签发,包含服务器的公钥和身份信息(如域名)。用于向客户端证明服务器的身份。
客户端证书:由CA签发,包含客户端的公钥和身份信息。用于向服务器证明客户端的身份。
认证模式
NLB同时支持单向认证和双向认证。
单向认证:NLB只需要配置服务器证书,由客户端验证服务器身份。这是最常见的模式,适用于绝大多数 Web 应用和 API 服务。
双向认证:NLB需要同时配置服务器证书、CA证书,服务器和客户端互相验证身份。适用于金融、物联网(IoT)或企业内部等高安全要求的场景。
单向认证握手过程 | 双向认证握手过程 |
前提条件
已根据单向认证或双向认证的需求,准备好对应的证书。从阿里云购买证书您可参考:
单向认证证书配置
控制台
配置TCPSSL监听时,在配置SSL证书页面,选择服务器证书,并配置TLS安全策略。
端到端操作教程您可参考:通过NLB实现TCPSSL卸载(单向认证)。
API
通过调用CreateListener接口:
ListenerProtocol
字段传入TCPSSL
,创建TCPSSL监听。CertificateIds
字段配置服务器证书。SecurityPolicyId
字段配置TLS安全策略。
双向认证证书配置
控制台
配置TCPSSL监听时,在配置SSL证书页面,选择服务器证书,启用双向认证并配置CA证书。同时配置TLS安全策略。
端到端操作教程您可参考:通过NLB实现TCPSSL卸载(双向认证)。
API
调用CreateListener接口:
ListenerProtocol
字段传入TCPSSL
,创建TCPSSL监听。CertificateIds
字段配置服务器证书。CaEnabled
字段配置为true
,启动双向认证。CaCertificateIds
字段配置CA证书。SecurityPolicyId
字段配置TLS安全策略。
单向认证与双向认证互转
对已有TCPSSL监听,可以开启/关闭双向认证,实现单向认证与双向认证的互转。
控制台
在NLB控制台,找到目标NLB实例,单击实例ID。
在监听页签,找到目标TCPSSL监听,单击操作列的管理证书。
在CA证书页签,单击左上角双向认证开关,开启或关闭双向认证。选择CA证书,并单击确定。
API
调用UpdateListenerAttribute接口,通过ListenerId
字段选中TCPSSL监听,调整CaEnabled
字段开启/关闭双向认证,调整CaCertificateIds
字段选择CA证书。
管理服务器证书
更换默认服务器证书
配置TCPSSL监听时选择的服务器证书,为监听的默认服务器证书,当证书即将过期或业务变更时可以无缝更换。
默认服务器证书变更期间,新建连接可能中断,已经建立的连接不会受影响。建议在业务低峰期进行变更。
控制台
在NLB控制台,找到目标NLB实例,单击实例ID。
在监听页签,找到目标TCPSSL监听,单击操作列的管理证书。
在服务器证书页签,单击监听默认服务器证书右侧的更换,选择新的证书。
单击确定。
API
调用UpdateListenerAttribute接口,通过ListenerId
字段选中TCPSSL监听,调整CertificateIds
字段更换默认服务器证书。
配置扩展证书以支持多域名
如果一个监听端口需要为多个域名提供 HTTPS 服务,且每个域名使用不同的证书,可以使用NLB扩展证书功能。
扩展证书配置完成后,NLB 将根据客户端请求的域名,自动匹配并使用对应的证书。
如果匹配到扩展证书域名,则使用扩展证书。
如果未匹配到扩展证书域名,则使用默认服务器证书。
1、每个NLB实例最多支持添加25个扩展证书。
2、单次配置最多支持同时添加/删除15个扩展证书。
控制台
在NLB控制台,找到目标NLB实例,单击实例ID。
在监听页签,找到目标TCPSSL监听,单击操作列的管理证书。
在服务器证书页签,单击添加扩展证书,选择其他域名的证书。
单击确定。
可以单击扩展证书右侧操作列的删除,删除扩展证书。
API
调用AssociateAdditionalCertificatesWithListener接口,通过
ListenerId
字段选中TCPSSL监听,通过AdditionalCertificateIds
字段添加扩展证书。调用DisassociateAdditionalCertificatesWithListener接口,通过
ListenerId
字段选中TCPSSL监听,通过AdditionalCertificateIds
字段删除扩展证书。
管理CA证书
更换CA证书
控制台
在NLB控制台,找到目标NLB实例,单击实例ID。
在监听页签,找到目标TCPSSL监听,单击操作列的管理证书。
在CA证书页签,已开启双向认证时,单击CA证书右侧操作列的更换,切换CA证书并单击确定。
API
调用UpdateListenerAttribute接口,通过ListenerId
字段选中TCPSSL监听,调整CaCertificateIds
字段更换CA证书。
计费说明
使用 TCPSSL 监听配置证书功能本身不产生额外费用,但您需要为证书本身付费,详情可参考:SSL证书计费说明、PCA证书计费说明。
应用于生产环境
最佳实践
证书管理:建议使用阿里云数字证书管理服务统一管理所有证书,便于集中查看、续费和部署。
TLS 策略:对于面向公网且无特殊兼容性要求的应用,建议使用
tls_cipher_policy_1_2
及以上版本。自动化:结合使用 API/Terraform 和数字证书管理服务,实现证书的自动续期和部署,避免因证书过期导致的服务中断。
风险防范与容错
内部流量安全:客户端与NLB之间流量进行TCPSSL加密,但NLB 与后端服务器之间的流量默认是明文的。为确保端到端安全,应将 NLB 和后端服务器部署在同一 VPC 内,并通过安全组等策略严格限制访问。
证书过期监控:在云监控中为证书配置过期告警规则,建议设置在过期前 30 天、7 天和 1 天分别告警,预留充足时间进行更换。
变更回滚:更换证书或调整 TLS 策略后,若出现异常,可立即通过修改监听配置回滚。建议在业务低峰期进行变更。