所有 SSL 文章 SSL 与证书

SSL 测试工具:如何检查你的证书和服务器配置

安装 SSL 证书后,你需要验证它是否正常工作——正确的证书、完整的链、现代 TLS、无错误。以下是每项检查的最佳工具。

在线工具

SSL Labs Server Test(最全面)

URL: ssllabs.com/ssltest

SSL 测试的行业标准。输入域名即可获得 A+ 到 F 评级的详细报告。

检查内容:

  • 证书有效性和链完整性
  • 协议支持(TLS 1.0/1.1/1.2/1.3)
  • 密码套件强度和顺序
  • 已知漏洞(POODLE、Heartbleed、DROWN、ROBOT)
  • HSTS 配置
  • OCSP Stapling
  • DNS CAA 记录
  • 证书透明度

目标: 评级 A+(要求 TLS 1.2+、AEAD 密码、长 max-age 的 HSTS)

使用时机: 初始设置后、配置变更后,定期检查(每月)。

SSL Shopper SSL Checker

URL: sslshopper.com/ssl-checker

专注于证书有效性和链的快速检查。

检查内容:

  • 证书正确安装
  • 链完整(中间证书存在)
  • 证书与域名匹配
  • 过期日期

使用时机: 快速的”是否正常工作?“检查——比 SSL Labs 更快。

crt.sh(证书透明度搜索)

URL: crt.sh

搜索证书透明度日志中为某域名签发的所有证书。

使用时机: 监控未授权证书、验证你的证书已被记录、查看签发历史。

Why No Padlock

URL: whynopadlock.com

扫描特定页面的混合内容——HTTPS 页面上的 HTTP 资源。

使用时机: 锁头图标显示警告或虽有有效证书但缺失时。

命令行工具

OpenSSL 快速检查

# Check if HTTPS works at all
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Verify return code"
# 0 (ok) = good

# Show certificate expiry
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate

# Show full certificate details
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -text

# Check TLS version negotiated
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Protocol"

# Test specific TLS version
echo | openssl s_client -connect yourdomain.com:443 -tls1_3 2>/dev/null | grep "Protocol"

完整 OpenSSL 速查表 →

curl 快速 HTTPS 测试

# Basic HTTPS check
curl -I https://yourdomain.com

# Show certificate info
curl -vI https://yourdomain.com 2>&1 | grep -E 'subject:|issuer:|expire'

# Check redirect from HTTP
curl -ILs http://yourdomain.com | grep -E '^HTTP|^Location'

nmap 密码套件枚举

nmap --script ssl-enum-ciphers -p 443 yourdomain.com

显示服务器支持的所有密码套件,按 TLS 版本分组。

何时检查什么

时机检查内容工具
安装证书后链完整、域名匹配SSL Shopper(快速)
配置变更后全面审计(评级、密码、漏洞)SSL Labs(全面)
每月过期临近监控脚本
迁移后混合内容Why No Padlock
持续未授权证书crt.sh / CT 监控
调试错误连接详情OpenSSL s_client

解读 SSL Labs 评级

评级含义常见问题
A+优秀有长 max-age 的 HSTS
A良好缺少 HSTS 或 max-age 较短
B尚可但需改进旧密码套件、启用了 TLS 1.0/1.1
C配置薄弱脆弱密码、无前向保密
F严重问题已知漏洞、证书过期
T证书不受信任自签名、域名错误、链不完整

达到 A+ 的 SSL 最佳实践 →

常见问题

应该多久测试一次?

每次 SSL 相关变更后,以及至少每月作为监控的一部分。SSL Labs 结果缓存几小时——添加 &clearCache=on 强制全新扫描。

使用 SSL Labs 安全吗?会暴露我的站点吗?

安全的。SSL Labs 以与任何浏览器相同的方式连接你的服务器。它不修改任何东西或暴露漏洞。结果默认公开——如果你希望隐私,勾选”Do not show the results on the boards”。

我的站点在 SSL Labs 得 A 但仍显示”不安全”

SSL Labs 评级覆盖服务器的 TLS 配置。浏览器中的”不安全”还可能来自:混合内容(用 Why No Padlock 检查)、缺少从 HTTP 的重定向,或直接通过 HTTP 访问。这些是页面级问题,不是服务器级问题。

能自动化 SSL 测试吗?

SSL Labs 有免费 API:api.ssllabs.com/api/v3/analyze?host=yourdomain.com。你可以将其集成到 CI/CD 或监控管道中。对于简单检查,在 cron 脚本中使用 OpenSSL 命令

相关文章

SSL 与证书 2026-05-08
OpenSSL 命令速查表:SSL 证书常用命令
最常用 OpenSSL 命令的快速参考:检查证书过期时间、验证证书链、生成密钥、转换格式和调试 TLS 连接。
部署 2026-05-07
如何检查 SSL 证书过期时间
使用浏览器、OpenSSL 或在线工具检查 SSL 证书的过期时间。设置监控以避免意外过期和服务中断。
SSL 与证书 2026-05-07
证书信任链详解
浏览器如何通过从根 CA 到中间 CA 再到你的证书的链条来验证 SSL 证书。了解为什么链顺序很重要,以及如何修复'证书不受信任'错误。
部署 2026-05-08
SSL 证书错误:每个常见错误的完整指南
修复每个常见的 SSL 错误:证书过期、名称不匹配、不受信任的 CA、证书链不完整、混合内容、协议错误。Chrome、Firefox 和 Safari 的错误代码、原因和解决方案。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书