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

在Elastic Beanstalk单Docker实例配置SSL失败求助

我之前配置Elastic Beanstalk单容器Docker SSL的时候也踩过类似的坑,结合官方文档的逻辑和实际排查经验,给你梳理几个能快速定位问题的方向:

排查与解决步骤

1. 先确认配置文件的存放位置是否正确

Elastic Beanstalk对.ebextensions文件夹的要求很严格:必须放在项目根目录,而且文件夹名称是全小写的。很多人会不小心写成.EBextensions或者把配置文件直接丢在根目录,导致EB完全忽略这些配置。

  • 正确的项目结构应该是这样:
    你的项目根目录/
    ├── .ebextensions/
    │   └── 01_envar.config
    ├── Dockerfile
    └── 其他项目文件(比如源码、依赖包等)
    

2. 检查01_envar.config的YAML语法是否合规

从你提供的片段看内容被截断了,AWS的配置文件是严格的YAML格式,任何缩进错误、冒号后缺空格、键名写错都会导致配置不生效。

  • 完整的SSL相关配置大概是这个样子(根据你的实际情况调整):
    option_settings:
      # 配置SSL证书ARN
      aws:elasticbeanstalk:application:environment:
        SSL_CERTIFICATE_ARN: "arn:aws:acm:你的区域:你的账号ID:certificate/证书ID"
      # 配置容器端口和代理
      aws:elasticbeanstalk:container:docker:
        ContainerPort: 80  # 如果你的容器监听443就写443
      aws:elasticbeanstalk:environment:proxy:
        ProxyServer: nginx
        SSLPort: 443
    
  • 你可以用本地的yamllint工具检查配置文件,确保没有语法错误。

3. 查看部署日志,直接找报错原因

不要只盯着实例状态,EB的日志会直接告诉你配置为什么没生效:

  • 本地执行eb logs拉取最新的部署日志,重点看这两个文件:
    • /var/log/cfn-init.log:记录CloudFormation初始化配置的过程,如果配置文件加载失败、权限不够,这里会有明确的报错。
    • /var/log/eb-engine.log:EB引擎的执行日志,能看到配置是否被正确识别。
  • 如果已经SSH到实例,直接用命令过滤错误:
    sudo cat /var/log/cfn-init.log | grep -i error
    

4. 确认实例的IAM角色权限足够

EB实例的服务角色需要有访问ACM证书、修改实例配置的权限,否则就算配置写对了也执行不了:

  • 检查实例的IAM角色(通常是aws-elasticbeanstalk-ec2-role)是否包含AWSElasticBeanstalkWebTier托管策略,或者自定义策略里有这些权限:
    • acm:DescribeCertificate
    • ec2:ModifyInstanceAttribute
    • elasticloadbalancing:ModifyListener(如果用到了负载均衡)

5. 单容器Docker的特殊注意点

单容器环境下EB会自动配置Nginx反向代理,这里容易踩坑:

  • 如果你的容器监听的是80端口,一定要在配置里把EB的443端口转发到容器的80端口(就是上面配置里的ContainerPort: 80)。
  • 另外,ACM证书是区域级的,要确保你用的证书和EB环境在同一个AWS区域,不然会找不到证书。

6. 尝试清空环境缓存重新部署

有时候旧环境的缓存会导致配置不生效,可以试试:

  • 执行eb deploy --staged,确保本地所有修改都被正确打包上传。
  • 如果还是不行,干脆先eb terminate终止当前环境,再用eb create重新创建环境并部署,彻底清除缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:07:19