小编fun*_*der的帖子

GCP 负载均衡(非经典)- URL 重写

我有一个非常简单的用例,但我似乎找不到方法来做到这一点。我的应用程序有一个应用程序部分(角度)和一个 API 部分(nodejs)。从 UI 来看,虽然我将 api 称为/api/*,但 api 服务器本身没有/api前缀。因此,我需要重写对/apito的任何请求/

在开发环境中,我的角度应用程序只有一个代理配置来进行重写:

{
  "/api/*": {
    "target": "http://localhost:3000",
    "pathRewrite": {
      "^/api/": ""
    },
    "secure": false,
    "logLevel": "debug"
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,对于生产环境,我需要针对以下场景配置GCP负载均衡器:

传入路径 后端服务 路径重写
/ ui 后端服务 (不适用)
/应用程序 ui后端服务 (不适用)
/api api 后端服务 /

虽然我能够配置简单的路由规则来将主机和路径映射到 ui-backend-service,但重写/api.

我能找到的任何 URL 重写示例都显示了经典负载平衡,它似乎不再适用。

我尝试修改Advanced host and path rules,但它告诉我我可以提供pathRulesrouteRules,而不是两者都提供。我无法创建单独的规则,因为主机(*在我的例子中)不能多次使用。

我不想为此在我的 api 服务器上设置 nginx。还有其他方法吗?

load-balancing node.js google-cloud-platform gcp-load-balancer angular14

3
推荐指数
1
解决办法
779
查看次数