首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >国外云服务器如何配置 HTTPS 自动续期?Nginx 证书部署与失效排查

国外云服务器如何配置 HTTPS 自动续期?Nginx 证书部署与失效排查

原创
作者头像
恒讯云服务
发布于 2026-10-23 15:22:03
发布于 2026-10-23 15:22:03
240
举报

HTTPS 刚部署好的时候一切正常,几个月后访客却开始看到“不安全”的提示。可能是证书到期,自动续期没有执行;可能是续期成功了,Nginx 还在用旧证书;也可能证书只覆盖了主域名,访问 www 子域名就报错。

完整的国外云服务器 HTTPS 配置,至少包含四个环节:域名解析与验证、证书申请、Nginx 配置,以及续期任务验证。本文沿着“初次签发、Nginx 配置、自动续期、故障验证”这条完整的操作链往下讲。

部署 HTTPS 之前,先检查域名与网络条件

确认域名已经解析到正确的服务器

检查域名的 A 记录、AAAA 记录和可能存在的 CNAME,确认指向的是实际提供服务的服务器或前置代理。DNS 还指向旧服务器,或者 AAAA 记录指向了一个访问不通的 IPv6 地址,证书验证和网站访问都可能失败。

检查 80 和 443 端口的访问条件

按所用的验证方式,核对服务器监听端口、主机防火墙和云平台的网络规则。HTTP-01 验证通常要求验证端点能通过 HTTP 访问;用 DNS-01 的话,则按对应的 DNS 验证流程配置。不同验证方式对网络条件的要求并不一样,别套用同一套。

确定证书需要覆盖哪些域名

申请前先列出主域名、www 子域名,以及需要独立提供 HTTPS 的业务子域名。证书的域名范围要在申请时说清楚,别等上线后才发现某个子域名没被覆盖。

如何为 Nginx 网站申请与安装证书?

选择合适的证书申请方式

常见做法是用 ACME 协议自动化签发,Certbot 是其中常用的工具。两种常见的验证方式:

HTTP-01 验证:适用于域名能通过 HTTP 完成验证的场景

DNS-01 验证:按指定规则设置 DNS 验证记录,适用于相应的 DNS 验证和通配符证书场景

具体操作取决于系统发行版、软件包来源、Nginx 的安装方式和证书管理工具,没有哪一套命令适用于所有系统。

安装证书前,先备份现有 Nginx 配置

先确认实际使用的站点配置文件和证书路径,看看 Nginx 里有没有多个虚拟主机、反向代理或已有的 HTTPS 规则。不要直接覆盖生产配置,先备份、记录当前有效的版本,免得编辑出错导致网站中断。

配置 HTTPS 监听与证书路径

Nginx 要指向正确的证书文件和私钥文件,并把对应域名绑定到正确的 HTTPS 虚拟主机。网站同时服务主域名和 www 的话,核对 server_name 与证书覆盖范围是否一致。

启用 HTTP 到 HTTPS 的跳转前,先验证 HTTPS 本身正常

先确认 HTTPS 页面、关键业务请求、图片资源和反向代理接口都正常,再设置 HTTP 自动跳转。网站如果启用了 CDN、反向代理或其他前置网关,还要检查前后端对协议的识别是否正确,否则可能出现循环跳转或后台登录异常。

怎样让 SSL 证书自动续期?

自动续期机制到底由谁执行?

证书工具通常会配合系统计时器或定时任务来做续期检查,具体机制取决于安装来源和配置方式。要核实系统里实际启用的是哪一种,别同时配置多套续期任务,也别以为装完证书就一定开启了自动续期。近年来公共证书的有效期在逐步缩短,续期是否真的在跑,比以前更要紧。

自动续期成功,不代表 Nginx 已经加载新证书

这是整套流程里最容易漏掉的一环:续期工具可能已经生成了新证书,运行中的 Nginx 却仍然在使用旧证书。需要按证书工具推荐的方式配置部署钩子,在续期成功后先执行配置检查,再让服务重新加载证书。有的验证方式下工具会自动重载 Nginx,有的不会,不能想当然。

如何验证续期机制真的有效?

建议依次做这几件事:

1. 查看证书管理工具的当前状态

2. 检查续期任务是否存在并正常执行

3. 按工具官方文档提供的测试模式做一次续期演练

4. 检查 Nginx 配置测试是否通过

5. 从外部验证实际对外提供的证书及有效期

以 Certbot 为例,演练、配置检查和外部验证可以这样做:

certbot renew --dry-run

nginx -t

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates

前提是环境确实在用 Certbot,其他证书管理工具有各自的命令,不能直接套用。最后一条里的 example.com 要换成自己的域名,看到的就是外部实际拿到的证书有效期。

HTTPS 证书失效,如何根据现象定位原因?

下面按“症状、检查位置、修复方向”来整理。

证书过期,但自动续期没有执行

检查续期任务、工具的运行日志、域名控制权验证,以及证书管理的权限。

续期成功,但浏览器仍显示旧证书

检查 Nginx 实际加载的证书路径、服务重载情况、是否存在多个虚拟主机,以及 CDN 或负载均衡是否还在提供旧证书。

主域名正常,www 或子域名报证书错误

检查证书的域名覆盖范围、DNS 指向,以及对应的 Nginx 虚拟主机配置。

出现跳转循环或页面混合内容警告

检查 HTTP/HTTPS 跳转、反向代理传递的协议头、WordPress 等应用里设置的站点地址,以及页面引用的 HTTP 资源。混合内容通常是页面资源仍通过 HTTP 加载造成的,重新申请证书未必能解决。

证书自动续期上线前的检查清单

域名解析正确,验证方式满足要求

HTTPS 虚拟主机与证书域名匹配

Nginx 配置测试通过

证书续期任务已启用

续期后能自动或按设计重新加载证书

有证书到期监控和失败告警

变更前保留配置备份及回滚方式

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 部署 HTTPS 之前,先检查域名与网络条件
    • 确认域名已经解析到正确的服务器
    • 检查 80 和 443 端口的访问条件
    • 确定证书需要覆盖哪些域名
  • 如何为 Nginx 网站申请与安装证书?
    • 选择合适的证书申请方式
    • 安装证书前,先备份现有 Nginx 配置
    • 配置 HTTPS 监听与证书路径
    • 启用 HTTP 到 HTTPS 的跳转前,先验证 HTTPS 本身正常
  • 怎样让 SSL 证书自动续期?
    • 自动续期机制到底由谁执行?
    • 自动续期成功,不代表 Nginx 已经加载新证书
    • 如何验证续期机制真的有效?
  • HTTPS 证书失效,如何根据现象定位原因?
    • 证书过期,但自动续期没有执行
    • 续期成功,但浏览器仍显示旧证书
    • 主域名正常,www 或子域名报证书错误
    • 出现跳转循环或页面混合内容警告
  • 证书自动续期上线前的检查清单
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档