簡體   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