主域example.com HTTPS失效,子域nc.example.com正常,求技术协助
修复步骤
1. 检查Apache虚拟主机配置
- 列出主域相关的虚拟主机文件:
ls -l /etc/apache2/sites-available/ | grep example.com - 打开HTTPS配置文件(通常命名为
example.com-le-ssl.conf),确认:- 证书路径正确:
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem和SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem - 包含
ServerName example.com和ServerAlias www.example.com - 重定向规则无冲突(比如HTTP转HTTPS的规则)
- 证书路径正确:
- 检查HTTP配置文件(如
example.com.conf),确保有正确的HTTPS重定向:RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
2. 验证Certbot证书有效性
- 测试证书续期兼容性,排查配置问题:
sudo certbot renew --dry-run - 根据命令输出的报错信息修复问题(比如证书权限、虚拟主机配置错误等)
3. 排查DNS与网络配置
- 确认DNS提供商处
example.com的A记录指向174.129.25.170,建议将TTL设置为300(5分钟)以加速生效 - 本地验证DNS解析结果:
dig example.com +short dig www.example.com +short - 检查AWS EC2安全组,确保80(HTTP)和443(HTTPS)端口对所有需要访问的IP开放
4. 验证Apache配置并重启服务
- 检查Apache配置语法:
sudo apache2ctl configtest - 无错误则重启服务:
sudo systemctl restart apache2 - 查看日志排查潜在问题:
sudo tail -n 20 /var/log/apache2/error.log sudo tail -n 20 /var/log/apache2/access.log
5. 重新生成Certbot配置(若上述步骤无效)
- 重新关联证书与Apache虚拟主机:
该命令会自动修复HTTPS虚拟主机配置,确保证书正确应用sudo certbot --apache -d example.com -d www.example.com
内容的提问来源于stack exchange,提问作者Pete Mobilia
相关产品推荐
相关产品推荐

