0

我有一个小型 Angular 应用程序与 Spring-Boot-Backend 一起运行(两者都在具有不同端口的 localhost 上运行),到目前为止,它已配置为我可以从 CLI/IDE 服务/运行两者,它会运行良好,但我必须使用

@CrossOrigin{...}

我的 Spring-Controller 上的注释。

如何首先使用 Apache 作为代理来消除 CORS 场景?(我在这方面的经验非常有限;过去主要做了一些重写规则。)

从我目前阅读的内容来看,代理模块已经集成到 Apache 2.4 中,但我有点迷失了如何在我的场景中使用它。

我希望这个问题不是太不具体,我很感谢您的帮助。

4

1 回答 1

0

我假设您在开发环境(本地主机)中使用它们。在这种情况下,您可以使用 Angular CLI 的内置代理(即 webpack dev):https ://angular.io/guide/build#proxying-to-a-backend-server

在项目的 src/ 文件夹中创建一个文件 proxy.conf.json。将以下内容添加到新的代理文件中(将端口 3000 更改为您的 Spring Boot 应用程序之一):

{
  "/api": {
    "target": "http://localhost:3000",
    "secure": false
  }
}

在 CLI 配置文件 angular.json 中,将 proxyConfig 选项添加到服务目标:

...
"architect": {
  "serve": {
    "builder": "@angular-devkit/build-angular:dev-server",
    "options": {
      "browserTarget": "your-application-name:build",
      "proxyConfig": "src/proxy.conf.json"
    },
...

要使用此代理配置运行开发服务器,请调用ng serve.

于 2020-06-17T07:28:40.000 回答