【问题标题】:Mapping different https subdomains to different ECS containers on same application load balancer?将不同的 https 子域映射到同一应用程序负载均衡器上的不同 ECS 容器?
【发布时间】:2021-10-20 02:13:12
【问题描述】:

我正在使用Docker ECS integration 部署一个应用程序和它所依赖的网络服务。两者都应该在不同的子域上通过 HTTPS 运行。

我的问题是,两者都需要通过 HTTPS 运行,但由于 ECS docker 仅创建了一个负载均衡器,看来我只能将其配置为将 https 流量转发到一个目标组。有没有办法让它工作?

【问题讨论】:

    标签: amazon-web-services docker-compose amazon-ecs amazon-route53 amazon-elb


    【解决方案1】:

    是的,当您将 HTTPS 侦听器添加到负载均衡器时,请将默认规则设置为转发到目标组之一(可能是主 Web 应用程序)。但是然后返回侦听器列表并单击“查看/编辑规则”。然后,您可以为每个附加服务添加主机标头规则。主机标头仅等于域名,包括子域,例如service-A.example.com。这样,一个 HTTPS 侦听器可以处理同一应用程序负载均衡器上的每个子域。这方面的文档是here

    注意:如果 HTTP 和 HTTPS 侦听器不可用,您可能不小心创建了网络负载平衡器。当您的至少一项服务公开 80 或 443 以外的端口时,就会发生这种情况。要让 force it 成为应用程序负载均衡器(它将让您转发 HTTP 和 HTTPS 流量),您的 docker-compose 配置需要如下所示:

      test:
        image: mycompany/webapp
        ports:
          - target: 8080
            x-aws-protocol: http
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 2017-06-05
      • 2017-06-08
      • 2018-10-04
      • 2021-12-18
      • 2021-02-01
      • 2022-01-23
      相关资源
      最近更新 更多