细节文档
在 pre 环境中切换 HTTPS 证书过程中,浏览器提示连接“不安全”。此问题发生于 AWS ALB(Application Load Balancer)中配置多个证书、并进行证书切换的场景下。
现有 Fusion 系统使用的 HTTPS 证书将在 7月中旬过期,因此预先在 pre 环境进行证书更新测试,确保上线时无缝切换。
- 在 AWS ALB 上绑定多个证书(通过 SNI 方式),证书分别来自 ACM。
-
使用 相同域名(如
fusion-pre.example.com),绑定了新的证书,同时仍保留旧证书(或将新证书设为默认)。 - ALB 在绑定多个证书的情况下,即使配置了默认证书,仍会优先响应新证书。
-
用户在访问过程中,浏览器可能出现如下问题:
浏览器提示 “不安全连接”。
显示证书为新的,但未被信任或尚未生效(传播延迟)。
短暂提示
NET::ERR_CERT_AUTHORITY_INVALID等错误。 - 浏览器提示 “不安全连接”。
- 显示证书为新的,但未被信任或尚未生效(传播延迟)。
-
短暂提示
NET::ERR_CERT_AUTHORITY_INVALID等错误。
- 在相同 ALB 下添加新证书,域名未发生更改,浏览器中出现证书异常提示;
- 在不同 ALB 上切换证书时,虽然证书正确绑定,但由于 DNS 解析生效存在延迟,依然出现短时间“不安全”状态。
AWS ALB 支持绑定多个证书,具体行为如下:
- ALB 通过 SNI(Server Name Indication)进行 TLS 握手匹配;
- 若域名匹配多个证书,ALB 不保证使用哪一个;
- 可以配置默认证书,但仅在客户端不支持 SNI 或无法匹配时使用。
📌 参考:
- 误认为默认证书具有优先级:实际上,在多个 SNI 证书均匹配的情况下,ALB 的行为不确定;
- 证书生效传播时间差异:新证书虽在 ACM 中已颁发,但在全球浏览器/ISP 缓存未刷新前会出现中断;
- 单 ALB 多证书更新易产生竞态:更新过程中新旧证书并存容易触发证书切换的不稳定行为。
项目风险等级描述证书更新生效延迟中新证书 ACM 签发到 ALB 应用有一定传播时延ALB 多证书绑定行为高不可预知的证书响应顺序可能引发浏览器“不安全”警告DNS 生效延迟中若证书通过新 ALB 切换,DNS 更新过程会引起短暂连接错误
- 推荐方式: 独立新建一个 ALB; 提前在新 ALB 上完成新证书绑定及验证; 通过 DNS 切换到新 ALB(可使用较低 TTL 配置,减少传播延迟); 等待旧证书到期后再销毁旧 ALB;
- 独立新建一个 ALB;
- 提前在新 ALB 上完成新证书绑定及验证;
- 通过 DNS 切换到新 ALB(可使用较低 TTL 配置,减少传播延迟);
- 等待旧证书到期后再销毁旧 ALB;
- 创建 新 ALB + 新证书;
- 测试验证完毕后再通过 Route 53 或 DNS 提供商切换 A 记录;
- 确保 TTL 降至 60s 以下,提升切换响应性;
- 通知测试用户提前清除本地浏览器缓存;
- 使用 Digicert/GlobalSign 等权威根证书,减少信任链构建时间;
- 可使用浏览器调试工具(如 Chrome DevTools 的 Security 面板)定位证书来源与链路状态;