簡體   English   中英

有沒有辦法在 Azure 虛擬機上啟用 CORS?

[英]Is there a way to enable CORS on an Azure Virtual Machine?

有沒有辦法在 Azure 虛擬機上啟用 CORS? 我在 localhost:5001 上運行一個燒瓶,在 localhost:4200 上運行 angular 應用程序在我的本地環境中,它完美地工作。 但是,在 azure 上的虛擬機實例中它不起作用,因為我無法設置我的 CORS。

要在 azure 中啟用 CORS,我們需要按照以下步驟在 API 中配置策略。

1. 添加azure 門戶中所需的API

在此處輸入圖片說明

  • 如果 Web.config 文件中尚未完成,請在 iis 中部署的應用程序/應用程序中應用以下更改。

 <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders> </httpProtocol> </system.webServer>

要查看如何轉到 web.config 文件,您可以參考此鏈接以在 azure 中配置 CORS

2. 前往 APIs >> 單擊所有操作 >> 添加策略

在此處輸入圖片說明

- 在那里你可以看到 cors。點擊它。

在此處輸入圖片說明

- 然后點擊保存

在此處輸入圖片說明

- 您需要導航到入站策略並檢查是否添加了此元素。 在此處輸入圖片說明

  • 您可以直接在表單編輯器或代碼編輯器中進行編輯,如下所示:

在此處輸入圖片說明

  • 此示例演示如何支持飛行前請求,例如具有自定義標頭或方法的請求。 支持自定義標題和
    額外的 HTTP 動詞,使用 allowed-methods 和 allowed-headers
    部分,如以下示例所示。 - 如果您的服務支持任何域的 COR,則如下所示放置“*”

在此處輸入圖片說明

(要么)

  • 如果您只希望 cors 只有幾個特定的​​ URI 來調用您的服務,您可以將它們添加到 origin 標簽中,或者您可以使用表單編輯器直接填寫表單。您可以添加您的服務所需的方法。

在此處輸入圖片說明

您可以參考本文檔了解更多信息。


您可以啟用 Access-Control-Allow-Credentials 標頭。 每當您需要發送 cookie 或令牌作為調用 API 的一部分時,這是必要的 >> 參考


(要么)

  • 在 Cloud Shell 中,使用az webapp cors add命令為客戶端的 URL 啟用 CORS。 替換占位符。

在 AZURE CLI 中:

webapp cors add --resource-group myResourceGroup --name <app-name> --allowed-origins 'http://localhost:5000'
  • 您可以在 properties.cors.allowedOrigins ("['URL1','URL2',...]") 中設置多個客戶端 URL。 您還可以使用“['*']”啟用所有客戶端 URL。 您可以參考了解有關此內容的更多信息。

其他參考:

  1. 排查 CORS 錯誤
  2. app-service-api-cors-consume
  3. 代碼示例-CORS
  4. App-service-web-tutorial-rest api
  5. CORS 代理
  6. 帶有 CORS 的 Azure CDN

暫無
暫無

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

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