2026-02-05
在 Nginx 上安装 SSL 证书主要分为 上传文件 和 修改配置 两步。
目前绝大部分的SSL证书都是域名证书,我们就以域名SSL证书为例。
首先你需要获取对应域名的SSL证书,常见方式就是购买商业版SSL证书,比如在海域云采购DV单域名型SSL。
证书里面一般会包含适配不同服务器版本的。这里我们需要的是nginx版本的,包含 .crt(或 .pem)和 .key 文件。

cert 文件夹内:bashmkdir -p /etc/nginx/cert# 将你的证书文件上传到此处# 示例:/etc/nginx/cert/example.com.pem (证书)# 示例:/etc/nginx/cert/example.com.key (私钥)2. 修改 Nginx 配置文件
打开你的站点配置文件(通常在 /etc/nginx/conf.d/ 或 nginx.conf),在 server 段中加入以下内容:
nginxserver {listen 443 ssl; # 监听 443 端口server_name example.com; # 你的域名
# 证书文件路径ssl_certificate /etc/nginx/cert/example.com.pem; # 私钥文件路径ssl_certificate_key /etc/nginx/cert/example.com.key;
# 推荐的安全配置ssl_session_timeout 5m;ssl_protocols TLSv1.2 TLSv1.3; # 仅开启安全协议ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 加密套件ssl_prefer_server_ciphers on;
location / {root /usr/share/nginx/html;index index.html index.htm;}}
# 可选:将 HTTP 自动跳转到 HTTPSserver {listen 80;server_name example.com;return 301 https://$host$request_uri;}
3. 检测并重启
配置完成后,必须执行以下命令确保语法无误:
测试配置:nginx -t
重新加载:nginx -s reload (或者 systemctl restart nginx)
避坑指南:
证书链问题:如果浏览器提示“证书不可信”,通常是因为你只上传了域名证书。请确保 ssl_certificate 指向的是包含中间证书的全链文件(.bundle.pem 或 .fullchain.crt)。
防火墙:确保你的服务器防火墙(如安全组)已经放行了 443 端口。
CDN加速:如果网站资源使用了CDN加速,也需要在CDN服务器上安装一份SSL证书。