【问题标题】:path based routing for ecs service not workecs 服务的基于路径的路由不起作用
【发布时间】:2021-06-11 15:47:39
【问题描述】:

我有一个指向我的注册到 target-group-one 的 ecs 服务的 alb。负载平衡器的 DNS 工作正常,能够从我的简单 apache 网络服务器打印消息。但是,当我配置基于路径的路由(如所附图像)并将路径添加到 DNS url ......com/gci 时,我收到错误消息 在此服务器上找不到请求的 URL。

我没有错过什么或做得不对?

【问题讨论】:

  • 如果不使用alb查询,你的ECS服务是否真的有路径/gci
  • @Marcin Nope 我还没有为 ecs 服务配置任何路径。我必须这样做吗?

标签: amazon-web-services apache amazon-ec2 amazon-ecs aws-application-load-balancer


【解决方案1】:

如果您的实际 httpd 服务器在没有 ALB 的情况下不响应 /gci,那么它将无法使用 ALB。您配置的路径规则仅将查询转发到您的目标组 (TG)。

因此,如果规则匹配 www.example.com/gci,ALB 只会将查询转发到关联的 TG。这意味着您的 ECS 服务仍然必须正确响应 /gci 路径。

也就是说,ALB 的转发规则不会重写路径。

【讨论】:

  • 非常感谢@Marcin,我是 httpd 服务器的新手,知道如何让我的服务器响应 /gci 路径
  • @Theonestar 它的应用程序特定。所以你必须在你的应用程序中添加这样的路径。但是如果你没有它,你为什么要在 ALB 中为它创建规则呢?
  • @Theonestar 您当然可以这样做,但实例上的应用程序必须正确响应路径。在将请求转发到您的实例之前,ALB 无法将请求中的 /gci 字符串化。为此,您可以在实例上设置 nginx。因此 ALB 会将请求 /gci 转发到实例上的 nginx,nginx 将剥离 /gci 并将请求转发到您的应用程序。但是如果可以的话,使用主机路由会更容易。所以你会使用gci.example.com,而不是example.com/gci。为此,例如,您必须在 Route53 中有一些域名。
  • 当然,我只是在我的应用程序中使用我想要服务的索引 html 创建一个路径,然后我的应用程序响应该路径,负载均衡器也是如此。感谢您的提示
  • @AliHassanQureshi 我不是一个 django 专家,因此对新问题帮助不大。对不起。
猜你喜欢
  • 2022-07-21
  • 2021-04-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 2023-02-03
  • 2021-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多