技术分享讲清原理,动手验证
返回教程列表

Nginx 安装 HTTPS 后怎么验收

网站实践 · 更新于 2026年10月26日

证书文件、域名匹配、防火墙和公网访问,逐项检查才算完成。

适用环境:Ubuntu / Debian 风格的 Nginx;需有服务器管理权限

先检查证书本身

openssl x509 -in /etc/nginx/ssl/site/fullchain.pem -noout -subject -issuer -dates -ext subjectAltName

路径需要换成你的证书。查看有效期以及 subjectAltName 中是否包含实际访问的域名;根域名 example.com 和 www.example.com 是两个名字。fullchain 文件通常应按服务器证书在前、中间证书在后的顺序包含证书链。

配置证书和私钥

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/nginx/ssl/site/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/site/private.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    root /var/www/site;
    index index.html;
}

这是示例 server 配置,域名、路径和站点目录都要替换。私钥仅供服务读取,不能放进网站公开目录;安装时应保留现有配置备份。证书、私钥不匹配或文件不存在,会在配置检查时报错。

先检查,再重新加载

sudo nginx -t
sudo systemctl reload nginx
sudo ss -lntp

只有 nginx -t 成功后才执行重新加载。查看是否监听 TCP 443,并核对云平台防火墙及系统防火墙。服务进程监听成功,不代表公网已经放通。

绕过本机 DNS 做域名校验

curl --resolve www.example.com:443:127.0.0.1 -I https://www.example.com/

该命令在服务器本机把连接定向到 127.0.0.1,但保留网址中的域名,仍然校验证书是否可信且匹配。它适合检查站点配置,不能代替外部网络测试。之后从另一条网络正常访问 HTTPS 域名,检查证书和响应状态。

跳转与续期单独验收

如果启用 HTTP 跳转,再用 curl -I http://你的域名/ 查看 Location 是否指向正确的 HTTPS 地址。不要只看到 301 就忽略错误域名或循环跳转。最后记录到期时间和续期方式;手工安装的证书不会因为 Nginx 正在运行就自动更新。本站曾实际完成证书安装、443 放行及两个域名的访问验证,这也是本文选择这些检查项的原因。

官方参考资料

下列资料用于核对工具行为和参数,文中的示例由本站整理。

相关教程