如何解决如何使用 AWS 负载均衡器在子目录中部署 React 应用程序
我一直在尝试在子目录上运行我的 React 应用程序。 我正在使用负载平衡器 (ALB) 并将我的应用程序重定向到“https://mydomain/directory”中的“directory”。 但是我的应用程序没有找到构建的静态文件
在 package.json 上添加了目录。 “主页”:“/目录” 在 react-router-dom 上添加了 basename 在我的网络中 index.html 正在以相同的方式寻找“.#####/directory/static/js”和 css
我只能通过将静态请求重定向到我的反应构建来运行我的反应构建,但这不是一个好的解决方案,因为我想在我的 ALB 上运行 3 个应用程序,这将导致我手动更改我的资产文件夹名称构建,显然不想这样做。 我一直在应用多种解决方案,但找不到合适的解决方案,请有人帮忙解决这个问题。?
解决方法
ALB 不做重定向,也不做任何类型的请求路径重写,它只是将请求转发到目标。您需要设置您的服务器,以便它实际上从该文件夹中为网站提供服务,换句话说,在构建中更改您的资产文件夹名称。
如果您不想这样做,则需要查看其他 AWS 解决方案,例如 CloudFront,它可以将请求代理到源服务器上的不同路径。
,我有一个使用 ci/cd 在 docker 中使用 nginx 发布 react 应用程序的场景。我设置了一个单独的快速服务器来提供应用程序文件并解决了这个问题。以下是可能有帮助的 server.js
存储库概要:
https://github.com/mkhizerali/store-pwa/blob/master/express/index.js
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。