管理证书

用 TCPSSL 监听实现加密传输时,需要在NLB配置证书,NLB 的所有证书统一由阿里云数字证书管理服务进行存储和管理,您需要先购买证书或将持有的证书上传至数字证书管理服务,才能在 NLB 上使用。

工作原理

证书类型

  • CA证书:CA(Certificate Authority)是一个受信任的第三方机构,专门负责审核和颁发证书。CA证书用来验证其他证书是否合法,比如检查证书是否由可信CA签发。

  • 服务器证书:又称SSL证书,由CA签发,包含服务器的公钥和身份信息(如域名)。用于向客户端证明服务器的身份。

  • 客户端证书:由CA签发,包含客户端的公钥和身份信息。用于向服务器证明客户端的身份。

什么是根CA、中间CA、证书链?

根 CA (Root CA)是证书颁发机构的最高级别,其证书是整个信任链的起点。根 CA 证书通常是自签名的,并被操作系统、浏览器和其他应用程序预先信任,用于验证其他证书(如中间 CA 证书和终端证书)的合法性。在实际应用中,根 CA 很少直接签发终端证书(如服务器证书、客户端证书),而是用于签发中间 CA 证书。

中间 CA (Intermediate CA)是根 CA 和终端证书之间的中间环节。中间 CA 的证书由根 CA 签发,并被用来实际签发服务器证书、客户端证书等终端证书。通过使用中间 CA,根 CA 的私钥可以被安全地保护,同时扩展信任范围。

客户端/服务端验证对方证书时,会根据证书链(Certificate Chain),从对方证书开始,逐级向上验证签名,直到找到自己信任的根CA证书。

例如:证书链是服务器证书 → 中间CA证书 → 根CA证书,客户端会逐级检查:

  1. 服务器证书是否由中间CA签发?

  2. 中间CA证书是否由根CA签发?

  3. CA证书是否在自己的信任列表中?

全部通过才认为服务器可信。如果服务器未提供完整的证书链(比如缺少中间CA证书),客户端会报告此证书不受信任。

认证模式

NLB同时支持单向认证和双向认证。

  • 单向认证:NLB只需要配置服务器证书,由客户端验证服务器身份。这是最常见的模式,适用于绝大多数 Web 应用和 API 服务。

  • 双向认证:NLB需要同时配置服务器证书、CA证书,服务器和客户端互相验证身份。适用于金融、物联网(IoT)或企业内部等高安全要求的场景。

单向认证握手过程

双向认证握手过程

imageimage

前提条件

已根据单向认证或双向认证的需求,准备好对应的证书。从阿里云购买证书您可参考:

单向认证证书配置

控制台

配置TCPSSL监听时,在配置SSL证书页面,选择服务器证书,并配置TLS安全策略

image

端到端操作教程您可参考:通过NLB实现TCPSSL卸载(单向认证)

API

通过调用CreateListener接口:

  • ListenerProtocol字段传入TCPSSL,创建TCPSSL监听。

  • CertificateIds字段配置服务器证书。

  • SecurityPolicyId字段配置TLS安全策略。

双向认证证书配置

控制台

配置TCPSSL监听时,在配置SSL证书页面,选择服务器证书,启用双向认证并配置CA证书。同时配置TLS安全策略

image

端到端操作教程您可参考:通过NLB实现TCPSSL卸载(双向认证)

API

调用CreateListener接口:

  • ListenerProtocol字段传入TCPSSL,创建TCPSSL监听。

  • CertificateIds字段配置服务器证书。

  • CaEnabled字段配置为true,启动双向认证。

  • CaCertificateIds字段配置CA证书。

  • SecurityPolicyId字段配置TLS安全策略。

单向认证与双向认证互转

对已有TCPSSL监听,可以开启/关闭双向认证,实现单向认证与双向认证的互转。

控制台

  1. NLB控制台,找到目标NLB实例,单击实例ID。

  2. 监听页签,找到目标TCPSSL监听,单击操作列的管理证书

  3. CA证书页签,单击左上角双向认证开关,开启或关闭双向认证。选择CA证书,并单击确定

API

调用UpdateListenerAttribute接口,通过ListenerId字段选中TCPSSL监听,调整CaEnabled字段开启/关闭双向认证,调整CaCertificateIds字段选择CA证书。

管理服务器证书

更换默认服务器证书

配置TCPSSL监听时选择的服务器证书,为监听的默认服务器证书,当证书即将过期或业务变更时可以无缝更换。

默认服务器证书变更期间,新建连接可能中断,已经建立的连接不会受影响。建议在业务低峰期进行变更。

控制台

  1. NLB控制台,找到目标NLB实例,单击实例ID。

  2. 监听页签,找到目标TCPSSL监听,单击操作列的管理证书

  3. 服务器证书页签,单击监听默认服务器证书右侧的更换,选择新的证书。

  4. 单击确定

API

调用UpdateListenerAttribute接口,通过ListenerId字段选中TCPSSL监听,调整CertificateIds字段更换默认服务器证书。

配置扩展证书以支持多域名

如果一个监听端口需要为多个域名提供 HTTPS 服务,且每个域名使用不同的证书,可以使用NLB扩展证书功能。

扩展证书配置完成后,NLB 将根据客户端请求的域名,自动匹配并使用对应的证书。

  • 如果匹配到扩展证书域名,则使用扩展证书。

  • 如果未匹配到扩展证书域名,则使用默认服务器证书。

1、每个NLB实例最多支持添加25个扩展证书。
2、单次配置最多支持同时添加/删除15个扩展证书。

控制台

  1. NLB控制台,找到目标NLB实例,单击实例ID。

  2. 监听页签,找到目标TCPSSL监听,单击操作列的管理证书

  3. 服务器证书页签,单击添加扩展证书,选择其他域名的证书。

  4. 单击确定

可以单击扩展证书右侧操作列的删除,删除扩展证书。

API

管理CA证书

更换CA证书

控制台

  1. NLB控制台,找到目标NLB实例,单击实例ID。

  2. 监听页签,找到目标TCPSSL监听,单击操作列的管理证书

  3. 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 策略后,若出现异常,可立即通过修改监听配置回滚。建议在业务低峰期进行变更。