Linux 中怎么排查 Apache 证书链不完整导致的握手失败

冷炫風刃

冷炫風刃

2026-08-04

436人浏览

原创

apache证书链不完整导致握手失败,本质是服务器未向java、旧版android等严格校验客户端下发中间证书,致使信任路径断裂;须用openssl s_client -showcerts验证实际返回证书块数量,仅1块即缺失中间证书,应合并域名证书与中间证书为单个pem文件并仅配置sslcertificatefile。

linux 中怎么排查 apache 证书链不完整导致的握手失败

Apache 证书链不完整导致握手失败,本质是客户端(尤其是 Java、旧版 Android 或严格校验工具)收不到中间证书,无法构建信任路径。浏览器可能自动补全,但服务器必须自己发全——排查关键不在猜,而在验证。

用 openssl s_client 直接看服务器实际发了什么

这是最准的第一步,绕过应用层,直击握手现场:

  • 运行 openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -showcerts,观察输出中 -----BEGIN CERTIFICATE----- 块的数量:首块是你自己的域名证书,后面应至少有一块中间证书;只有一块,就说明链不完整
  • 如果看到 unable to get local issuer certificate 或末尾证书的 CA Issuers URI 无法访问,基本锁定中间证书缺失或顺序错误
  • -crl_check 参数(openssl s_client -connect ... -crl_check 2>&1 | grep "verify error")可辅助判断:若报 unable to get certificate CRL,往往因中间证书没下发,导致客户端找不到吊销检查地址

查 Apache 配置是否用了已弃用的旧指令

Apache 2.4.8+ 不再支持 SSLCertificateChainFile,强行保留反而会干扰链加载:

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载
  • 打开虚拟主机配置(如 /etc/apache2/sites-available/default-ssl.conf),确认只保留两行核心配置:SSLCertificateFileSSLCertificateKeyFile
  • 删除所有 SSLCertificateChainFileSSLCACertificateFile 等废弃指令;新版要求把域名证书和中间证书拼成一个 PEM 文件,由 SSLCertificateFile 单独指向
  • 检查路径权限:证书文件需 644,私钥必须 600,否则 Apache 可能静默跳过加载

验证拼接后的证书文件是否合法有效

合并不是简单 cat,顺序和内容都得对:

  • 执行 cat domain.crt intermediate.pem > fullchain.pem,确保 域名证书在最前,中间证书紧随其后,根证书绝对不要加入
  • openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt fullchain.pem 测试:若报 OK,说明本地能验证;若报 unable to get issuer certificate,说明拼接顺序错或中间证书本身不对
  • Let’s Encrypt 用户直接用 fullchain.pem(不是 cert.pem),它已含正确顺序;其他 CA 请以厂商提供的 bundle 文件为准

针对 Java 客户端做专项确认

浏览器正常 ≠ 其他客户端正常。Spring Boot、HttpClient 等 Java 应用默认校验极严:

  • 即使 openssl 显示多块证书,也要再跑一次 openssl s_client -connect ... -showcerts,确认 Java 调用时服务端返回的确实是完整链——有些配置看似生效,实则未真正加载
  • Java 报 PKIX path building failed 时,不是改 JVM truststore,而是先确保服务端发全了链;改客户端信任库只是临时绕过,不是修复根源
  • 用在线工具如 SSL Labs 扫描,它会明确标出 “Chain issues” 并列出缺失哪一级中间证书,比日志更直观

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux apache

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

335

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

616

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1170

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

406

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

323

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1005

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1774

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

320

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程