繁体   English   中英

AWS ALB 创建基于路径的路由 - 将子目录重定向到根目录

[英]AWS ALB Create Path-Based Routing - Redirect subdirectory to root

我在 AWS 上运行了一个应用程序,它在 application / 目录下运行。 我想在 AWS 负载均衡器上创建基于路径的路由并将其作为两个应用程序运行,但我收到 404 错误。 如何在不在后端执行任何操作的情况下使用 AWS Application Load Balancer 执行此操作?

结构:

  1. domain.com/server1 (AWS 负载均衡器) ---> TargetGroup1 --- > /
  2. domain.com/server2 (AWS 负载均衡器) ---> TargetGroup2 --- > /

简而言之,当我想访问https://lbaddress/test1地址时,我希望在我的后端(在root folder /上工作)服务器上运行的软件运行

Nginx 方面,我可以做如下。

location ^~ /server1 {
      rewrite ^/server1(.*)$ $1 last; 
}

此规则不起作用,面临 404 代码。

Go 到您的 ALB 侦听器。 在适当的侦听器中单击“查看/编辑规则”。 在那里你可以添加你的规则。 你想做一个基于路径的路由,所以你将添加这个规则:

IF PATH is /server1/* THEN Forward to TG1
IF PATH is /server2/* THEN Forward to TG2

/*被添加,因此它匹配路径 start 中的任何内容,从相应的服务器开始。

AWS ALB 不支持路径重写。 当请求domain.name/server1/foo被转发时,目标主机将看到/server1/foo ,而不是/foo 由于您可能没有在目标主机上配置/server1 ,因此它将返回 404。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM