在Azure CDN中提供托管字体时出现CORS错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Azure CDN中提供托管字体时出现CORS错误相关的知识,希望对你有一定的参考价值。

我们正在尝试使用Azure CDN端点CDN启用我们的WebSite。

对于CSS和javascript资源和图像,它工作得很好。但由于某种原因,我们的字体会出现CORS错误。

错误是:

从'http://[name].azureedge.net/-/design/[long-path]/icons.woff'访问'http://[URL-to-testsite]'的字体已被CORS政策阻止:请求的资源上没有'Access-Control-Allow-Origin'标题。因此,'http://[URL-to-testsite]'原产地不允许进入。

我们尝试在web.config中插入以下URL重写规则:

<rewrite>
  <outboundRules>
    <rule name="Set Access-Control-Allow-Origin header">
      <match serverVariable="RESPONSE_Access-Control-Allow-Origin" pattern="(.*)" />
      <action type="Rewrite" value="*" />
    </rule>
  </outboundRules>
</rewrite>

......但遗憾的是它根本没有改变任何东西。

有什么建议?

答案

它在Handler中添加了以下HttpHeader,返回字体:

Response.AppendHeader("Access-Control-Allow-Origin", siteName);

如果有人有更好/更漂亮的解决方案,我全都耳朵。

以上是关于在Azure CDN中提供托管字体时出现CORS错误的主要内容,如果未能解决你的问题,请参考以下文章

从 Azure CDN 请求的字体文件被 CORS 策略阻止

使用 Azure 应用服务中托管的 WCF 服务时出现凭据错误

从托管在 S3 存储桶上的站点访问 AWS API 时出现 CORS 问题 [关闭]

在 Service Fabric 中运行 Azure DevOps 自托管生成代理时出现“无法解析远程名称”

如何防止 Chrome/FF 由于 CORS 策略而阻止 CDN 字体?

修复或避免在 SSDT 引用 Azure 托管实例中的主数据库时出现 SQL71501 和 SQL71561 构建错误?