浏览器无法通过公网IP访问EC2实例,但可通过EB域名正常访问
问题描述
我使用Elastic Beanstalk运行应用,关联单个EC2实例(配置为PHP 8.0运行在64位Amazon Linux 2/3.3.4版本,采用Nginx服务)和RDS数据库。
遇到的问题如下:
- 浏览器可以通过EB域名(示例:http://app21.us-east-2.elasticbeanstalk.com/)访问应用,但通过EC2实例公网IP(示例:18.190.158.12)访问时会立刻返回
connection refused错误 - EB域名加载速度较慢,原因是站点尝试走HTTPS协议但未配置SSL证书
- 可正常通过SSH连接该EC2实例
- ping EB域名和EC2公网IP都会超时
已做排查操作
- 调整EC2安全组规则,已允许IPv4和IPv6的HTTP、HTTPS访问入站
- 核对EB配置时发现EB环境显示不属于任何VPC,与EC2实例必定归属VPC的常规逻辑不符,后续查看实例关联的网络ACL,入站、出站规则均无异常
- 确认应用使用的Laravel框架本身不会触发该类访问问题
目前不确定后续排查方向,想确认该问题是否有可能由Nginx配置导致?
问题更新(已解决)
当前EB域名和EC2实例公网IP都可以正常访问,操作过程中做了两处修改,暂无法完全确认具体生效项:
- 将个人域名A记录指向EB域名,而非EC2实例IP(个人判断该操作不影响本次问题解决)
- 在应用负载均衡上添加了HTTPS监听器,关联了AWS证书
调整后个人域名可正常解析到EB域名,EC2公网IP也可正常访问。
内容的提问来源于stack exchange,提问作者sweenrace
相关产品推荐
相关产品推荐

