Apache2 SSL连接失败通常可以归因于配置错误、证书问题或客户端/服务端协议不匹配等原因。以下是解决 Apache2 SSL 连接失败的系统性方法:
1. 确认 Apache 是否已启用 SSL
确保 Apache 已启用 mod_ssl
模块和 HTTPS 配置:
这一步非常关键,如果
mod_ssl
没有启用,使用 curl -v https://yourdomain.com
,都会出现如下错误:* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
验证 Apache 是否监听在 HTTPS 端口(默认 443):
如果未监听,请检查 Apache 配置。
2. 检查 SSL 虚拟主机配置
编辑 HTTPS 虚拟主机配置文件(例如 /etc/apache2/sites-available/default-ssl.conf
):
确保配置内容如下:
启用配置并重启 Apache:
3. 配置 SSL 协议和密码套件
修改 /etc/apache2/mods-available/ssl.conf
文件:
确保 SSLProtocol
配置为支持现代协议:
配置安全的加密套件:
禁用不安全的功能:
保存并重启 Apache:
发表回复