本向导为您提供 Linux 系统及宝塔集成环境下 Nginx 安装 SSL 证书的完整步骤。涵盖 Nginx 配置文件查找、证书与 Key 文件上传、域名配置文件编辑(443端口与301跳转)以及服务重启方法,助您快速实现网站从 HTTP 到 HTTPS 的安全升级。
Nginx安装SSL证书(HTTPS配置完整教程)
很多网站已经部署 HTTPS,但在 Nginx 安装 SSL 证书时,仍然容易遇到:
- 浏览器提示“不安全”
- HTTPS 无法访问
- 证书不生效
- 443端口打不开
- SSL证书更新后仍显示旧证书
实际上,大部分问题都与证书路径、Nginx 配置文件或服务未重载有关。
本文将详细介绍 Nginx 安装 SSL 证书的完整步骤,以及 HTTPS 配置过程中最容易出现的问题。
本文属于「如何将网站从 HTTP 更改为 HTTPS?」专题内容,查看更多相关内容:→ 网站HTTPS升级指南
如果客户机使用的是集成式环境,例如:
- 宝塔面板
- Linux + Nginx
- LNMP 环境
也可以参考本教程进行配置。
相关推荐:
一、查找 Nginx 配置文件
开始配置之前,需要先确认 Nginx 配置文件所在位置。
大部分 Linux 系统中,Nginx 默认配置目录通常为:
/etc/nginx/
如果您的服务器安装目录不同,可以通过以下命令查看 Nginx 路径:
whereis nginx
常见配置文件位置:
/etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf
网站虚拟主机配置文件通常位于:
/etc/nginx/conf.d/
/usr/local/nginx/conf/vhost/
二、上传 SSL 证书文件
申请 SSL 证书后,通常会获得:
- 证书文件(.crt 或 .pem)
- 私钥文件(.key)
例如:
test.pem
test.key
建议将证书上传至:
/usr/local/nginx/conf/ssl/
如果 ssl 文件夹不存在,请自行创建。
例如:
mkdir /usr/local/nginx/conf/ssl
注意:
- 证书文件路径必须正确
- KEY 文件不要泄露
- 建议设置合理权限
三、编辑 Nginx 域名配置文件
假设您的站点配置文件为:
/usr/local/nginx/conf/vhost/example.com.conf
打开配置文件:
vi /usr/local/nginx/conf/vhost/example.com.conf
在 server 配置中加入 HTTPS 配置:
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /usr/local/nginx/conf/ssl/test.pem;
ssl_certificate_key /usr/local/nginx/conf/ssl/test.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
root /www/wwwroot/example.com;
index index.php index.html;
}
这里需要特别注意:
- ssl_certificate 路径必须正确
- ssl_certificate_key 必须对应当前证书
- 域名需与 SSL 证书一致
否则浏览器会提示:
- 证书不匹配
- HTTPS不安全
- NET::ERR_CERT_COMMON_NAME_INVALID
四、配置 HTTP 自动跳转 HTTPS(推荐)
为了避免网站同时存在 HTTP 与 HTTPS,建议配置 301 跳转:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
配置后:
- 用户访问 HTTP 会自动跳转 HTTPS
- 有利于 SEO
- 避免重复收录
- 提升网站安全性
五、检查配置并重启 Nginx
配置完成后,先检测 Nginx 配置是否正确:
nginx -t
如果显示:
syntax is ok
test is successful
说明配置正常。
然后重载 Nginx:
systemctl reload nginx
或者:
nginx -s reload
六、验证 HTTPS 是否生效
部署完成后,可以通过以下方式检测:
- 浏览器是否显示“小锁”
- HTTPS 是否可正常访问
- SSL 证书是否已更新
- 是否仍提示“不安全”
如果 HTTPS 已开启但浏览器仍报错,通常是以下原因:
| 问题 | 常见原因 |
|---|---|
| 浏览器提示不安全 | 页面存在HTTP资源(混合内容) |
| HTTPS无法访问 | 443端口未开放 |
| 证书不生效 | Nginx未reload |
| 部分手机访问报错 | 中间证书不完整 |
| 显示旧证书 | CDN或浏览器缓存 |
七、Nginx安装SSL最常见的问题
1、证书路径错误
很多用户上传了新证书,但配置文件仍指向旧路径。
尤其:
- 宝塔迁移
- 多站点环境
- 手动更新证书
最容易出现。
2、只上传主证书,没有上传完整证书链
可能导致:
- 安卓浏览器报错
- SSL Labs 评分低
- 部分浏览器不兼容
建议使用 CA 提供的完整证书文件。
3、修改配置后没有重载 Nginx
仅保存配置文件并不会生效。
必须执行:
nginx -s reload
或者:
systemctl reload nginx
4、服务器安全组未开放443端口
尤其:
- 阿里云
- 腾讯云
- 华为云
经常忘记开放 HTTPS 端口。
八、Nginx支持免费SSL证书吗?
支持。
Nginx 可以正常部署:
- Let's Encrypt
- ZeroSSL
- TrustAsia免费SSL
等 DV SSL 证书。
对于:
- 个人博客
- 测试环境
- 小型网站
通常已经足够。
但企业官网、电商平台或登录系统,仍建议使用 OV 或 EV SSL 证书,以提升用户信任度与品牌可信度。
九、总结
Nginx 安装 SSL 证书并不复杂,但实际部署 HTTPS 时,最容易出现的问题通常不是证书本身,而是:
- 配置文件错误
- HTTPS跳转问题
- 证书链不完整
- 服务器未重载
- CDN缓存旧证书
建议配置完成后,及时检查 HTTPS 是否正常生效,并定期关注 SSL 证书有效期,避免证书过期导致网站无法访问。
其实简单理解就是Nginx配置SSL需在系统或集成环境中找到/etc/nginx/conf配置文件夹,并上传证书与Key文件至指定目录(如/ssl)。修改站点域名配置文件,在listen 80后添加包含证书路径的HTTPS配置,随后重启服务即可启用。



京公网安备11010502031690号
网站经营企业工商营业执照
















