通过 Google 云存储和负载均衡器服务 React 应用程序,将任何 URL 映射到索引?

Serving react app via Google Cloud Storage and loadbalancer, mapping any urls to index?

我正在使用 Google 云存储和负载均衡器设置 React 应用程序前端。在构建期间,index.html 和 javascript 文件被上传到云存储中。负载均衡器指向后端存储桶。如果我转到 http://(loadbalancerip)/index.html

,我现在可以访问 React 应用程序

我想响应处理所有路由,我还希望我们的用户通过任意路径访问站点(例如 http://(loadbalancerip)/user/details)。有没有办法通过 GCP 负载平衡器实现这一目标?基本上我希望它始终服务于“index.html”,无论用户访问的路径如何。

假设您使用的是 HTTP(S) 外部负载平衡器,您正在寻找的是 URL rewrite

我已通过 GCP 支持确认,很遗憾,它不受支持。这是一个开放的功能请求 https://issuetracker.google.com/issues/194125076

您可以通过在存储桶上配置网站设置来实现此目的。配置 404 页面以服务 index.html。当用户点击任何随机路线时,他们将得到服务 index.html。我能看到的唯一缺点是您确实在控制台中收到 404 错误,但这似乎根本不影响操作。

我的负载均衡器仅配置了默认规则,将所有流量提供给存储桶后端(没有额外的 url 映射规则)。