Ubuntu20.04 Apache配置HTTPS后访问报ERR_TIMED_OUT如何解决
故障排查方向
- 验证443端口连通性与监听状态
先执行ss -tulpn | grep :443确认Apache进程已正常监听0.0.0.0:443端口,排除端口被其他服务(如Nginx、反向代理程序)占用的问题。再在服务器本地执行curl -v https://my-site.com --resolve my-site.com:443:127.0.0.1测试本地HTTPS访问是否正常:- 若本地可正常返回站点内容,说明故障出在外部链路:优先检查云服务商安全组是否放通443入口、运营商是否封禁443端口、服务器端口映射配置是否正确
- 若本地也无法访问,继续向下排查
- 检查证书文件权限
执行namei -l /etc/certificates/my-site.com/*验证证书、私钥文件的读取权限:Apache运行用户(默认www-data)需要有证书文件的读权限,私钥文件权限建议设置为600,属主配置为root:www-data即可,权限过宽或过严都会导致Apache无法正常加载SSL证书。 - 排查虚拟主机冲突
执行apache2ctl -S查看所有已加载的虚拟主机列表,确认443端口下my-site.com对应的虚拟主机配置为你当前编辑的文件,排除其他同端口同ServerName的虚拟主机配置覆盖、默认SSL虚拟主机优先级更高的问题。 - 确认请求是否到达Apache
触发HTTPS访问请求后查看站点的访问日志、错误日志:如果无任何日志生成,说明请求被系统防火墙、WAF模块拦截;如果有对应错误日志,可根据日志内容进一步定位问题。 - 补充SSL链配置(可选,针对后续使用CA颁发证书的场景)
若后续换回Certbot等CA颁发的证书,需要在虚拟主机配置中补充SSLCertificateChainFile参数指向证书链文件,避免部分浏览器识别证书异常。
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

