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

AWS Elastic Beanstalk部署的REST API HTTPS访问超时问题咨询

HTTPS超时故障原因及解决方案

1. 操作系统防火墙未开放443端口

你配置的.ebextensions只修改了EC2实例的安全组入站规则,但Amazon Linux 2默认自带的firewalld/iptables可能未放行443端口,导致流量被系统层面拦截。

  • 排查方法:SSH登录到实例,执行sudo iptables -L -n查看443端口是否允许入站,或本地执行telnet <实例公网IP> 443验证端口连通性,无法连通则是端口未开放。
  • 解决方法:在SSL配置脚本末尾添加端口放行命令:
# 放行HTTPS端口
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

2. Nginx未正常监听443端口

Certbot自动生成的配置可能和Elastic Beanstalk默认的Nginx配置冲突,导致Nginx没有正常启动443端口的监听服务。

  • 排查方法:SSH登录实例执行sudo netstat -tulpn | grep nginx,查看是否有监听0.0.0.0:443的进程,没有则说明Nginx配置异常。
  • 解决方法:
    • 执行sudo nginx -t检查配置文件语法错误,根据报错修正
    • 查看/var/log/nginx/error.log的报错信息,多数场景是证书路径不对、权限不足导致Nginx无法加载SSL证书
    • 确认Nginx运行状态:sudo systemctl restart nginx && sudo systemctl enable nginx

3. 代理服务器配置不匹配

你在.ebextensions的注释中标注了# Configure for single instance and apache,但SSL脚本是针对Nginx编写的,如果你的EB环境实际使用Apache作为代理,Certbot修改Nginx配置完全不会生效,443端口没有对应服务监听。

  • 排查方法:执行sudo systemctl status httpd查看Apache是否在运行,运行则说明环境用的是Apache而非Nginx。
  • 解决方法:
    • 如需使用Nginx,修改EB环境配置,将代理服务器设置为Nginx
    • 如需使用Apache,替换当前Certbot脚本为适配Apache的版本,安装python2-certbot-apache包,改用certbot --apache命令生成配置

4. 证书申请未成功

脚本中的CERTBOT_DOMAINS参数填写的域名必须已经正确解析到EB实例公网IP,否则Certbot申请证书会失败,不会生成443端口的监听配置。

  • 排查方法:查看/var/log/eb-hooks.log中的脚本执行日志,确认Certbot证书申请是否成功,是否有报错信息。
  • 解决方法:
    • 确认填写的域名已正确解析到实例公网IP
    • 确认填写的邮箱地址有效,未被Certbot拦截
    • 重新执行SSL脚本,检查执行输出是否有报错

5. VPC网络ACL拦截流量

如果实例部署在自定义VPC中,需要确认VPC关联的网络ACL入站和出站规则都开放了443端口的流量,否则也会导致访问超时。

  • 解决方法:到AWS VPC控制台,找到实例所在子网关联的网络ACL,添加入站允许443端口、出站允许临时端口的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:24:02