簡體   English   中英

如何使用 AWS 負載均衡器在子目錄中部署反應應用程序

[英]How to deploy react application in a sub-directory using AWS Load Balancer

我一直在嘗試在子目錄上運行我的反應應用程序。 我正在使用負載均衡器 (ALB) 並將我的應用程序重定向到來自“https://mydomain/directory”的“目錄”。 但是我的應用程序沒有找到構建的 static 文件

在 package.json 上添加了目錄。 "homepage": "/directory" 在我的網絡索引中的 react-router-dom 上添加了 basename。html 正在尋找 ".#####/directory/static/js" 和 css 以相同的方式

我只能通過將 static 請求重定向到我的 react 構建來運行我的 react 構建,但這不是一個好的解決方案,因為我想在我的 ALB 上運行 3 個應用程序,這將導致我在構建中手動更改我的資產文件夾名稱,顯然不想那樣做。 我一直在應用多種解決方案,但找不到合適的解決方案,請有人幫忙。

ALB 不進行重定向,也不進行任何類型的請求路徑重寫,它只是將請求轉發到目標。 您需要設置您的服務器,以便它實際上從該文件夾為網站提供服務,換句話說,在構建中更改您的資產文件夾名稱。

如果您不想這樣做,則需要查看其他 AWS 解決方案,例如 CloudFront,它可以將請求代理到源服務器上的不同路徑。

我有一個使用 ci/cd 在 docker 內發布帶有 nginx 的反應應用程序的場景。 我需要設置一個單獨的快速服務器來提供應用程序文件並解決了這個問題。 這是server.js的存儲庫概要,可能會有所幫助:

https://github.com/mkhizerali/store-pwa/blob/master/express/index.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM