Nginx服务器部署SSL证书后网站无法访问怎么办?

更新时间:2023-11-09 来源:TopSSL 作者:TopSSL

本文为您快速解答 Nginx 配置 SSL 及部署 HTTPS 过程中最常见的 5 大硬核痛点,包括浏览器提示不安全、网站打不开、HTTP 如何 301 自动跳转 HTTPS、新证书更新不生效以及免费证书支持等问题的极简排查与解决方法。

很多网站已经部署 HTTPS,
但在 Nginx 配置 SSL 证书时,
经常会遇到:

  • 证书不生效
  • 浏览器提示不安全
  • HTTPS 无法访问
  • 443端口打不开
  • 证书链不完整

实际上,大部分问题都与证书路径、Nginx 配置或重载失败有关。

本文将详细介绍:
Nginx 安装 SSL 证书的完整步骤、
常见配置方法、
以及部署 HTTPS 后最容易出现的问题。


Nginx 服务器安装SSL证书

  • 准备好ssl证书文件 XXX.crt 和私钥文件 XXX.key。
  • 将证书文件和 KEY 文件都上传到服务器(推荐放到 etc/nginx/cert/文件夹下)。
  • 修改 nginx 配置文件如下(默认配置文件一般是在/etc/nginx/目录下):

以下属性中以 ssl 开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。

ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_prefer_server_ciphers on;

保存 nginx.conf 文件后退出。
重启 Nginx 服务。

常用命令

yum install nginx #安装
systemctl start nginx #启动
systemctl enable nginx #开机启动
vi /etc/nginx/nginx.conf #修改配置
systemctl reload nginx.service #保存后:重启:
systemctl status nginx.service #查看状态

Nginx 配置 SSL 最常见的几个错误

1)证书路径错误

很多用户上传了证书,
但 Nginx 配置路径仍指向旧文件。

尤其:

  • 宝塔迁移
  • CDN回源
  • 多站点配置

最容易出现。


2)只上传主证书,没有中间证书

会导致:

  • 部分浏览器报错
  • 安卓兼容异常
  • SSL Labs 评分低

3)修改配置后没有 reload

很多人只保存:

nginx -s reload

没有执行。

导致新证书未生效。


4)443端口未开放

尤其:

  • 阿里云
  • 腾讯云
  • 防火墙

经常忘记安全组。


什么是 Nginx?

Nginx 是目前使用非常广泛的 Web 服务器与反向代理软件。

它常用于:

  • HTTPS 部署
  • 静态资源服务
  • 反向代理
  • 负载均衡
  • CDN 回源

由于 Nginx 在高并发场景下性能优秀,
因此大量网站会使用 Nginx 配置 SSL 证书实现 HTTPS 加密。

即可。


HTTPS部署后如何检测是否成功

SSL检测方法

部署完成后可以通过以下方式检测:

  • 浏览器是否显示“小锁”
  • HTTPS是否可正常访问
  • 是否仍提示“不安全”
  • SSL Labs 检测评分
  • 证书是否完整

常见异常

问题原因
浏览器不安全混合内容
HTTPS打不开443未开放
证书不匹配域名错误
部分手机报错证书链不完整

实际部署建议

如果网站使用 CDN(如 Cloudflare、百度云加速),
除了服务器安装 SSL 外,
还需要检查:

  • CDN 回源协议
  • 源站证书
  • HTTPS 强制跳转

否则可能出现:

  • 循环跳转
  • HTTPS 不生效
  • 证书已更新但浏览器仍显示旧证书

常见问题

1. 配了SSL还提示不安全?

这是因为页面有死链

网页里还带着 http:// 的图片或代码。把它们改成 https://

没配中间证书。把服务商给的两个证书内容合并成一个文件塞给 Nginx。访问的域名和证书上的名字没对上。


2. 部署HTTPS后打不开网站?

应该是端口没开,服务器安全组和本地防火墙忘了放行 443端口

运行 nginx -t 查错。看证书路径有没有写错、文件还在不在。


3. HTTP 怎么自动跳转 HTTPS?

在 80 端口的 server 里直接加这行:

nginx

return 301 https://$host$request_uri;

注意要谨慎使用此类代码。


4. 换了新证书还显示旧的?

应该是没彻底重启

别用 reload。直接输入 nginx -s stop 关掉,再输入 nginx 重启。

如果用了云加速或 CDN,必须去云厂商后台把新证书也上传一份。


5. Nginx 支持免费证书吗?

完全支持

技术上没什么区别,直接用 Certbot 申请 Let's Encrypt,一行命令搞定,但记得定好闹钟或脚本,90天过期前必须续期。


本文属于「如何安装 SSL 证书」专题内容,查看更多相关内容: → SSL 证书完整安装教程

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

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

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