Nginx安装SSL证书(HTTPS配置完整教程)

更新时间:2023-12-01 来源:CERTUM 作者:CERTUM

本向导为您提供 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配置,随后重启服务即可启用。

有用
分享
无用
反馈
返回顶部
0 个回答
2036 次浏览
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn