Nginx 如何支持 HTTPS:证书、配置与验证一次讲清

何川
何川
发布时间:2026-08-24 | 47人浏览过
原创

前言

很多站点部署到线上后,真正卡住 HTTPS 的往往不是原理,而是证书文件、Nginx 配置项和重启顺序这几个细节。本文按实际操作流程整理出一套最常用的启用方法,并保留关键配置和命令,方便你快速核对哪里该改、哪里该先验证。

很多站点切 HTTPS 时,常卡在证书路径、server 块写法和重启前未校验配置。下面按部署顺序保留最关键步骤。

先准备好证书和存放路径

先为域名准备 SSL 证书。可向 CA 购买,也可使用免费的 Let's Encrypt。证书和对应私钥都必须具备。

拿到文件后上传到服务器,常放在 /etc/nginx/ssl,便于统一维护。路径不强制,但配置中必须与实际文件一致。

Nginx 配置怎么写

配置文件通常位于 /etc/nginx/nginx.conf,也可能是 /etc/nginx/sites-available/your_domain.conf。在对应 server 块中加入:

Nginx HTTPS 配置结构图,展示 80 端口跳转与 443 端口证书配置的对应关系。
Nginx 的 HTTP/HTTPS 配置关用结构图梳理两个 server 块各自负责的请求入口、跳转逻辑和证书配置位置。
server {
    listen 80;
    server_name your_domain.com www.your_domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name your_domain.com www.your_domain.com;

    ssl_certificate /etc/nginx/ssl/your_domain.com.crt;
    ssl_certificate_key /etc/nginx/ssl/your_domain.com.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    # 其他配置,如 location 块等
}

your_domain.com、www.your_domain.com 要替换为实际域名;ssl_certificate 和 ssl_certificate_key 必须指向真实存在的证书与私钥;业务 location 可继续放在 443 的 server 块中。

HTTP 跳转到 HTTPS 的作用

80 端口的 server 块只负责把请求通过 301 永久重定向到 https://$host$request_uri,保留原地址和请求路径。

改完后如何让配置生效

修改后先测试配置,再重启 Nginx:

Nginx HTTPS 上线前后的检查流程图,展示语法检测、重启服务、浏览器锁标识和 SSL Labs 检查。
HTTPS 配置生效与验证流程把配置生效前后的检查动作串起来,减少因语法错误或遗漏验证带来的部署问题。
nginx -t
sudo service nginx restart
sudo systemctl restart nginx

nginx -t 可提前发现路径错误或配置语法问题。

最后怎么验证 HTTPS 是否正常

用浏览器访问域名,确认地址栏是否出现小锁;也可用 SSL Labs 检查证书链、协议支持和明显安全问题。

若浏览器可正常通过 HTTPS 访问,且 HTTP 会自动跳转到 HTTPS,说明基础配置已生效。重点只需核对三项:证书文件正确、Nginx 配置对应准确、重启前先执行 nginx -t。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表