簡體   English   中英

如何使用 Apache 作為 Angular/Spring-Boot 的代理來防止 CORS 場景?

[英]How to use Apache as proxy for Angular/Spring-Boot to prevent CORS-scenario?

我有一個小型 Angular 應用程序與 Spring-Boot-Backend 一起運行(兩者都在具有不同端口的 localhost 上運行),到目前為止,它已配置為我可以從 CLI/IDE 服務/運行兩者,它會運行良好,但我必須使用

@CrossOrigin{...}

我的 Spring-Controller 上的注釋。

如何首先使用 Apache 作為代理來消除 CORS 場景? (我在這方面的經驗非常有限;過去主要做了一些重寫規則。)

從我目前閱讀的內容來看,代理模塊已經集成到 Apache 2.4 中,但我有點迷失如何在我的場景中使用它。

我希望這個問題不是太不具體,我很感謝您的幫助。

我假設您在開發環境(本地主機)中使用它們。 在這種情況下,您可以使用 Angular CLI(即 webpack dev)的內置代理: https://angular.io/guide/build#proxying-to

在項目的 src/ 文件夾中創建一個文件 proxy.conf.json。 將以下內容添加到新的代理文件(將端口 3000 更改為您的 spring 啟動應用程序之一):

{
  "/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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM