Azure CDN 上的 ttf 字体文件出现 CORS 错误

Chr*_*uci 6 fonts cdn azure cors

我有一个使用 Verizon Premium SKU 创建的 CDN。当涉及到字体时,我得到“来自原点‘ https://myfqdn.com ’已被 CORS 策略阻止:请求的资源上不存在‘Access-Control-Allow-Origin’标头”

但是,我遵循了这个文档https://learn.microsoft.com/en-us/azure/cdn/cdn-cors但没有运气。

但是,如果我访问https://cdn.myfqdn.com(是的,我有一个自定义域并启用了 https),则页面加载时不会出现任何问题。

这是我根据上面的文档创建的规则的 XML。

 <rules schema-version="2" rulesetversion="6" rulesetid="945266" xmlns="http://www.whitecdn.com/schemas/rules/2.0/rulesSchema.xsd">
  <rule id="1823263" platform="http-large" status="active" version="3" custid="A76A4">
    <!--Changed by userId: 952 on 02/25/2019 03:45:01 PM GMT-->
    <!--Changed by xxx@cdn.windowsazure.com on 02/25/2019 03:25:23 PM GMT from IP: xxx.xxx.xxx.xxx-->
    <description>Wildcard</description>
    <!--If-->
    <match.request-header.wildcard name="Origin" result="match" value="Https://myFQDN.com" ignore-case="true">
      <feature.set-request-header action="set" key="Access-Control-Allow-Origin" value="*" />
      <feature.set-request-header action="set" key="Access-Control-Allow-Headers" value="*" />
      <feature.set-request-header action="set" key="Access-Control-Allow-Methods" value="GET, HEAD, OPTIONS" />
      <feature.set-request-header action="set" key="Access-Control-Expose-Headers" value="*" />
    </match.request-header.wildcard>
  </rule>
</rules>
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助

Sib*_*enu 0

我的博客中也遇到了这个问题。除字体和图标外,所有文件均从 CDN 加载。我必须做两件事。一种是允许 Azure Web 应用程序中的所有源,另一种是通过编辑 IIS 中的文件来配置web.config.

\n

只需登录到您的 Azure 门户,然后转到您的 Azure Web 应用程序。单击 API 下的 CORS 菜单,将 * 作为允许的来源。

\n

在此输入图像描述

\n

默认情况下,Azure 应用服务中的 IIS 不提供扩展名为 .woff2、.woff 和 .ttf 的文件。这就是 CORS 问题的原因。我们将在 system.webServer 标签中添加这些配置,该标签是配置标签的子标签。

\n
<?xml version="1.0" encoding="UTF-8"?>\n<configuration>\n  <system.webServer>\n     <staticContent>\n      <mimeMap fileExtension="woff" mimeType="application/font-woff" />\n      <mimeMap fileExtension="woff2" mimeType="application/font-woff2" />\n      <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />\n      <mimeMap fileExtension=".ttc" mimeType="application/octet-stream" />\n      <mimeMap fileExtension=".otf" mimeType="application/octet-stream" />\n    </staticContent>\n  </system.webServer>\n</configuration>\n
Run Code Online (Sandbox Code Playgroud)\n

您还可以通过添加名为 \xe2\x80\x9cEnable Static Web Fonts\xe2\x80\x9d 的扩展来执行此操作。我写了一篇关于这方面的详细博客,你可以在这里阅读

\n