首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure CDN上为网站启用CORS以托管字体

问在Azure CDN上为网站启用CORS以托管字体
EN

Stack Overflow用户
提问于 2015-04-21 11:38:56
回答 1查看 2.4K关注 0票数 4

我有一个Azure网站(Azure MVC),其中包含字体(例如,字体、字形图标),并且可以在自定义域中使用,比如www.mywebsite.com。

我还设置了一个Azure CDN,原始主机指向网站(而不是blob存储)。另外,我使用的是cdn的自定义域名,比如"cdn.mywebsite.com“。

我遇到的问题是浏览器拒绝下载字体,因为CORS没有启用。我已经找到了在Azure blob存储上启用CORS的方法,但我真的更喜欢通过将CDN指向网站来完成这项工作。

对如何做到这一点有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-05-01 19:59:54

假设您的web.config system.webserver部分有一些基本的CDN重写规则,您还可以添加一些出站规则来为CDN请求启用CORS ...

代码语言:javascript
复制
<rewrite>
    <outboundRules>
        <rule name="Set Access-Control-Allow-Origin Header" preCondition="Origin header present">
            <match serverVariable="RESPONSE_Access-Control-Allow-Origin" pattern="(.*)" />
            <action type="Rewrite" value="*" />
        </rule>
        <preConditions>
            <preCondition name="Origin header present" logicalGrouping="MatchAll">
                <add input="{HTTP_ORIGIN}" pattern="(.+)" />
                <add input="{HTTP_X_ORIGINAL_URL}" pattern="^/cdn/(.*)$" />
            </preCondition>
        </preConditions>
    </outboundRules>
    <rules>
        <rule name="Rewrite CDN" stopProcessing="true">
            <match url="^cdn/(.*)$" />
            <action type="Rewrite" url="{R:1}" />
        </rule>
    </rules>
</rewrite>

此出站规则通过Azure CDN将Access-Control-Allow-Origin: *响应头添加到包含非空Origin:请求头的每个请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29762484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档