繁体   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