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

如何通过Docker Compose ECS集成配置带ACM证书的HTTPS应用负载均衡器

使用Docker Compose ECS集成配置HTTPS Application Load Balancer

核心配置(docker-compose.yml)

现在Docker Compose ECS集成已支持直接通过扩展字段配置ALB的HTTPS证书,无需复杂的CloudFormation模板。以下是适配你场景的完整配置示例:

version: '3.8'

services:
  app-service:
    image: your-app-image:latest
    ports:
      - "443:8080"  # ALB 443端口转发至容器8080端口
    x-aws-loadbalancer:
      # 指定ACM证书ARN(必须与ALB同区域)
      certificate: "arn:aws:acm:us-east-1:123456789012:certificate/xxxx-xxxx-xxxx-xxxx"
      type: application
      # 可选:配置HTTP自动跳转HTTPS
      listeners:
        - port: 80
          protocol: HTTP
          redirect:
            port: 443
            protocol: HTTPS

关键配置说明

  • ports字段:"443:8080"会触发ECS集成创建ALB的HTTPS监听,并将请求转发到容器的8080端口。
  • x-aws-loadbalancer.certificate:直接填入你的ACM证书ARN,这是实现HTTPS的核心参数,无需额外CloudFormation资源。
  • HTTP转HTTPS配置:通过listeners数组添加80端口监听,配置自动重定向到443,确保所有流量走HTTPS。

部署步骤

  1. 确保已配置ECS上下文:
    docker context create ecs your-ecs-context
    docker context use your-ecs-context
    
  2. 部署应用:
    docker compose up --project-name your-app-project -d
    

注意事项

  • ACM证书必须与ECS集群(及自动创建的ALB)处于同一AWS区域,否则无法关联。
  • 证书需完成域名验证(DNS或邮件验证),确保状态为Issued。
  • 部署后,需将你的域名CNAME解析到ALB的DNS名称(可在AWS控制台ECS集群的负载均衡器页面获取)。
  • 若需自定义VPC、子网或安全组,可添加x-aws-vpc、x-aws-subnets等扩展字段进一步配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:35:20