You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Linux 2023中Certbot报错:未找到监听80端口的虚拟主机

问题排查与解决:Amazon Linux 2023上Certbot无法识别80端口虚拟主机

核心问题

  • 运行Certbot时触发报错:
    Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80
    
  • 已在/etc/httpd/conf.d/目录创建虚拟主机配置文件,但执行sudo httpd -t -D DUMP_VHOSTS仅返回443端口的虚拟主机信息
  • 修改/etc/httpd/conf.d/ssl.conf中的域名配置后问题依旧

解决步骤

1. 修复虚拟主机配置文件后缀

Amazon Linux 2023的Apache默认仅加载/etc/httpd/conf.d/下以.conf结尾的配置文件。你创建的文件example.domain缺少该后缀,导致配置未被加载。执行以下命令重命名:

sudo mv /etc/httpd/conf.d/example.domain /etc/httpd/conf.d/example.domain.conf

2. 验证配置并重启Apache

  • 检查配置语法是否正确:
    sudo httpd -t
    
  • 若返回Syntax OK,重启Apache服务:
    sudo systemctl restart httpd
    
  • 再次确认虚拟主机配置,此时应能看到80端口的条目:
    sudo httpd -t -D DUMP_VHOSTS
    

3. 确认80端口监听状态

检查Apache是否实际监听80端口:

sudo ss -tulpn | grep httpd

输出需包含:80的监听记录,类似:tcp LISTEN 0 511 *:80 *:* users:(("httpd",pid=xxx,fd=xxx))

4. 开放80端口的网络访问

  • 配置firewalld开放80端口:
    sudo firewall-cmd --add-port=80/tcp --permanent
    sudo firewall-cmd --reload
    
  • 同步检查EC2实例的安全组,确保入站规则允许TCP 80端口的外部流量访问。

5. 重新运行Certbot

完成以上配置后,再次执行Certbot命令:

sudo certbot --apache

内容的提问来源于stack exchange,提问作者badnoodle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:10:10