我有一个使用Verizon Premium SKU创建的CDN。涉及字体时,我收到“从原点'https://myfqdn.com'被CORS策略阻止:所请求的资源上没有'Access-Control-Allow-Origin'标头”
但是,我没有遵从此文档https://docs.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>
感谢您的帮助
答案 0 :(得分:0)
我在博客中也遇到了这个问题。除字体和图标外,所有文件均从CDN加载。我必须做两件事。一种是允许Azure Web应用程序中的所有来源,另一种是通过编辑web.config
在IIS中配置文件。
只需登录到Azure门户,然后转到Azure Web应用程序。单击API下的CORS菜单,然后单击*作为允许的来源。
Azure App Service中IIS不会提供扩展名为.woff2,.woff和.ttf的默认文件。这就是导致CORS问题的原因。我们将这些配置添加到system.webServer标记中,该标记是配置标记的子标记。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="woff" mimeType="application/font-woff" />
<mimeMap fileExtension="woff2" mimeType="application/font-woff2" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".ttc" mimeType="application/octet-stream" />
<mimeMap fileExtension=".otf" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
您也可以通过添加名为“启用静态Web字体”的扩展名来执行此操作。我为此写了一个详细的博客you can read it here。