解决 Nginx Let's Encrypt HTTPS 证书 错误: 服务器缺少中间证书

简介: 解决 Nginx Let's Encrypt HTTPS 证书 错误: 服务器缺少中间证书

前言

期初是由于在ios系统出现https连接ssl握手时间过长

经过调查有网友说是ssl中间证书缺失

时间长 和 中间证书缺失 这两点是否存在关联目前还有待考证

不过目前发现

NginxLet's Encrypt 证书的确存在中间证书缺失问题

本文介绍如何解决这一问题

这里证书用的是 Let's Encrypt 通配符证书

服务端 Nginx 1.16.0

调查

首先检查 是否存在这一问题

检测地址:

www.myssl.cn/tools/check…

检测结果:

01ebd755782e4c909dad0843d3544acf.jpeg

Nginx相关配置:

  1. server {
  2. listen 443 ssl http2 default_server;
  3. server_name zzzmh.cn;
  4. ssl_certificate /root/ssl/fullchain.pem;
  5. ssl_certificate_key /root/ssl/privkey.pem;
  6. ssl_trusted_certificate /root/ssl/chain.pem;

  7. ...
  8. }

关键问题是在 fullchain.pem

根据调查 Nginx 不像是 Apache 有专门的参数配置中间证书

Nginx 需要全部配置在 fullchain.pem

顾正确的格式是分为三段

分别代表 服务器层 中间层 root层

  1. -----BEGIN CERTIFICATE-----
  2. ...
  3. -----END CERTIFICATE-----
  4. -----BEGIN CERTIFICATE-----
  5. ...
  6. -----END CERTIFICATE-----
  7. -----BEGIN CERTIFICATE-----
  8. ...
  9. -----END CERTIFICATE-----

而实际上一般 Let's Encrypt 生成的证书

fullchain.pem 默认都是两段

  1. -----BEGIN CERTIFICATE-----
  2. ...
  3. -----END CERTIFICATE-----
  4. -----BEGIN CERTIFICATE-----
  5. ...
  6. -----END CERTIFICATE-----

解决

其实具体缺失中间证书是不是一个问题,

有什么后果,都尚未可知。

只是抱着能解决就解决的心态去调查解决的。

首先先找到

Let's Encrypt 生成出证书的4个文件

  1. cert.pem
  2. chain.pem
  3. fullchain.pem
  4. privkey.pem

cert.pem 内容复制到这个地址解析

www.myssl.cn/tools/downl…

解析成功可以获得2个下载按钮

使用 [点击下载中间证书文件]

将下载到的文件中的 内容 复制到

fullchain.pem两段内容的中间 ,保存即可。

(需要注意 fullchain.pem 格式要求极为严格 不能存在空行 空格等)

最后重启nginx 问题解决

  1. # 测试配置是否正常
  2. nginx -t
  3. # 重新加载配置文件
  4. nginx -s reload

再次去到一开始检测的网址

检测结果:

01ebd755782e4c909dad0843d3544acf.jpeg

END

目录
打赏
0
0
0
0
44
分享
相关文章
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
HTTPS 证书自动化运维:基础知识与重要性
随着互联网发展,HTTPS 成为保护网站和用户数据安全的标准协议。HTTPS 证书(SSL/TLS)验证网站身份并加密通信,分为 DV、OV 和 EV 三种类型,确保数据传输安全。它不仅提高安全性、增强用户信任,还能提升搜索引擎排名。手动管理证书繁琐易错,自动化运维工具如 Let`s Encrypt 和 Certbot 可简化流程,减少错误,提高效率。文章介绍了 HTTPS 证书的基础知识、重要性及自动化运维的概念。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
HTTPS 证书自动化运维:展望未来发展趋势
HTTPS证书自动化运维正朝着更智能、高效和安全的方向发展。未来系统将提升自动化程度,减少人工干预,实现自动签发、续订与部署;深度集成多云平台,提供无缝管理体验;增强高级安全功能如加密算法和威胁检测;优化用户界面,降低使用门槛;支持更多操作系统,确保跨平台一致性;引入AI/ML技术,预测需求并自动解决问题;加强标准化与互操作性,促进生态系统协作。同时,系统将持续扩展功能、优化性能、支持国际化,并注重用户反馈,为全球用户提供优质的证书管理服务。
HTTPS 证书自动化运维:HTTPS 证书管理系统之使用指南
本文详细介绍【灵燕空间HTTPS证书管理系统】(https://www.lingyanspace.com)的配置与使用,涵盖注册账户、邮箱配置及证书自动签发、监控和部署的一体化指南。通过页面顶部菜单的【视频教程】和【图文教程】,帮助用户从注册到实际应用全面掌握系统操作。最新迭代后,泛域名证书已包含根域名,无需额外申请多域名证书。
IP地址https证书最新申请流程步骤
确保信息准确,遵循CA指导,遇到问题可联系客服。
没有域名只有IP地址怎么申请https证书?
IP 地址 SSL 证书是一种特殊的 SSL/TLS 证书,允许直接为 IP 地址配置 HTTPS 加密,适用于内部服务、私有网络和无域名的设备管理。与基于域名的证书不同,申请过程较为复杂,需选择支持 IP 的证书颁发机构(CA),并完成额外的身份验证步骤。浏览器对 IP 地址的支持有限,可能会显示警告。通过正确配置服务器(如 Nginx 或 Apache),可以确保通信安全。
免费泛域名https证书教程—无限免费续签
随着互联网安全意识提升,越来越多网站采用HTTPS协议。本文介绍如何通过JoySSL轻松获取并实现免费泛域名SSL证书的无限续签。JoySSL提供永久免费通配符SSL证书,支持无限制域名申请及自动续签,全中文界面适合国内用户。教程涵盖注册账号、选择证书类型、验证域名所有权、下载与安装证书以及设置自动续签等步骤,帮助网站简化SSL证书管理流程,确保长期安全性。