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

AWS Elastic Beanstalk单实例Docker应用无法通过HTTPS访问求助

单实例Docker Elastic Beanstalk HTTPS连接拒绝排查方案

1. 验证EC2安全组规则

  • 进入对应Elastic Beanstalk环境的「配置」页面,找到「实例」配置模块
  • 确认关联的EC2安全组入站规则已开放 0.0.0.0/0 的443端口(HTTPS协议),仅开放80端口会直接导致HTTPS连接被拒绝

2. 检查NGINX反向代理配置

单实例环境的HTTPS流量由EC2上的NGINX负责处理,需要确认两处配置:

  • 证书文件已正确放置到/etc/pki/tls/certs/(公钥)和/etc/pki/tls/private/(私钥)路径下,私钥权限设置为600,避免NGINX读取失败
  • NGINX配置中proxy_pass参数值为 http://docker:8080,确保流量正确转发到Dart应用的监听端口

3. 确认Docker端口映射配置

  • 检查部署包根目录下的Dockerfile是否包含EXPOSE 8080配置;如果使用Dockerrun.aws.json,需确认Ports字段已将容器8080端口映射到宿主机8080端口
  • 可直接登录EC2实例执行docker ps,确认容器端口映射规则为0.0.0.0:8080->8080/tcp

4. 验证.ebextensions配置生效状态

  • 确认.ebextensions文件夹放在部署包根目录,和Dockerfile、Dockerrun.aws.json同级,路径错误会导致配置完全不生效
  • 登录EC2实例检查/etc/nginx/conf.d/https.conf文件是否存在,不存在则需要重新打包部署配置
  • 执行sudo nginx -t测试NGINX配置语法,语法错误会导致NGINX不加载HTTPS配置

5. 检查443端口监听状态

登录EC2实例执行sudo netstat -tulpn | grep 443,如果没有对应监听进程,说明HTTPS配置未生效,回到第二步排查证书和NGINX配置问题


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:15:03