You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure静态Web应用调用Azure App Service API的CORS配置问题

Azure静态Web应用调用Azure App Service API的CORS配置问题

嗨,我来帮你搞定这个CORS难题!你遇到的问题其实很常见——Azure App Service的前端网关会优先处理CORS请求,不管你Docker镜像里的配置写得多么正确,网关都会先拦截OPTIONS预检请求,所以你容器里的config.yaml里的CORS设置根本没机会生效。

不用买域名也能解决,按下面的步骤操作就行:

  1. 登录Azure门户,找到托管你API的那个App Service实例。
  2. 在左侧导航栏里,找到「API」分类下的「CORS」选项并点击进入。
  3. 在「允许的来源」输入框里,把你的静态Web应用域名加进去:https://gray-forest-042cd9900.3.azurestaticapps.net(注意别加末尾的斜杠,有时候斜杠会导致匹配失败)。
  4. 如果本地开发还需要用localhost相关地址,也可以一起添加,但建议实验或上线前只保留实际需要的来源。
  5. 最后点击「保存」,等待1-2分钟让配置生效,再测试你的SWA调用API的请求。

另外还有两个小细节要注意:

  • 如果你的API请求带了自定义HTTP头或者凭据(比如Cookie),记得在CORS设置里勾选「允许凭据」选项,不然浏览器会因为安全策略拒绝请求。
  • 测试时可以临时用「允许所有来源」(也就是*),但生产环境绝对不要这么做,会带来安全风险,最好始终精确指定合法来源。

这样操作之后,App Service的网关就会正确处理来自你SWA的预检请求,不会再报CORS错误啦!

备注:内容来源于stack exchange,提问作者Farid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 09:19:31