Angular 代理配置在谷歌云 API 引擎中没有任何效果

问题描述 投票:0回答:1

我有一个在 http://localhost:4200/ 上运行的 Angular 应用程序和在 http://localhost:8080/ 上运行的 Spring Boot 后端 在 src 文件夹中的前端应用程序中,我创建了一个 proxy.config.json 文件,如下所示:

{
"/server": {
   "target": "http://localhost:8080",
    "secure": false,
    "changeOrigin": true,
    "logLevel": "debug",
    "pathRewrite": {
      "^/server" : ""
    }
  }
}

我已将代理添加到 package.json,如下所示:

“开始”:“ng服务--proxy-config src / proxy.conf.json”,

因此,每次发出以 /server/api/... 开头的请求时,都会将其转换为
http://localhost:8080/api/...

这在我的本地计算机上运行正常。

接下来,我已将后端应用程序部署到谷歌云应用程序引擎,一切顺利,后端已启动并在公共谷歌云地址上运行。 然后,在我的前端应用程序中,我更改了“目标”参数以指向公共云地址并再次测试我的前端应用程序(本地),一切顺利。

接下来,我构建了前端应用程序并将其部署到新的谷歌云应用程序引擎。 现在我在两个不同的 .com 地址上运行了两个应用程序和两个谷歌云应用程序引擎。

但是,前端应用程序不再与后端应用程序连接。代理配置无效,/server 不会转换为指向后端公共地址。

我已将 src/proxy.conf.json 添加到 anglat.json 文件中:

"serve": {
          "builder": "@...",
          "configurations": {
            "options": {
              "browserTarget": "...",
              "proxyConfig": "src/proxy.conf.json"
            },
            "production": {
              "browserTarget": "...",
              "proxyConfig": "src/proxy.conf.json"
            },

重建,重新部署,还是没有效果。

我已经在我的 app.modules.ts 中添加了

{provide: LocationStrategy, useClass: HashLocationStrategy}

重建,重新部署,仍然没有效果,除了我的URL中确实没有#。

我需要做其他配置才能使代理转换在谷歌云应用程序引擎中工作吗?

angular google-cloud-platform proxy backend
1个回答
0
投票

我对应用程序引擎有同样的问题,关于如何解决这个问题有什么建议吗?

© www.soinside.com 2019 - 2024. All rights reserved.