当前位置:首页 > 编程技术 > PHP编程

解决CDN中,字体文件加载woff,的跨域问题,如何在网站使用cdn ttf woff字体跨域

网友投稿4年前 (2022-10-31)PHP编程2414
摘要:解决CDN中,字体文件woff,woff2,ttf字体无法加载woff,的跨域问题,has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is 提示错误处理has been blocked by CORS p…

解决CDN中,字体文件woff,woff2,ttf字体无法加载woff,的跨域问题,has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is 提示错误处理

has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is 

错误提示处理 

要CDN利用起来。当一切都设置好了的时候,发现woff,woff2,ttf等字体文件在加载的时候出现跨域无法访问的问题。

经过,CDN的一番设置之后,发现还是不起效果。

出错误用chrom查看错误出现:

has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is 


@font-face是CSS3中的一个特性,可以把自己定义的Web字体嵌入到网页中,随着@font-face,越来越多的网页采用字体图标作为网页中的小图形。




比如Bootstrap就采用了Glyphicons 字体图标 在Bootstrap的架构下可以免费使用Glyphicons的250多种图标字体。另外一个比较常用的开源图标字体就是Font Awesome了,内含几百种各种size的图标文件,可以很容易实现Fixed Width,Animated Icons,Rotated,Flipped,Stacked等特性,跟能和Bootstrap无缝配合。悦合同就是使用Font Awesome作为字体图标。




当在配置CDN的时候,duang~~~




字体跨域!!!!!!




由于网站的资源文件使用的是另外的域名(这样做是便于浏览器在加载时可以提高加载效率,关于domain hash也就是多域名来加速访问的问题有空再说),这样主域名和资源的域名尤其是字体文件,就形成跨域访问,在主域名的网站无法加载资源域名中的字体。


处理这种跨域,只要设置Access-Control-Allow-Origin,允许目标域名访问就可以了,Access-Control-Allow-Origin是HTML5新增的一个特性,在资源类的域名下做如下配置(nginx的配置,apache相似处理)

location ~ .*\.(eot|ttf|ttc|otf|eot|woff|woff2|svg)(.*) {

    add_header Access-Control-Allow-Origin http://www.xjxo.com;

}


配置完后,例牌reload配置,刷新CDN缓存,就ok了。


这里说多一句,CDN会缓存当时的Response Header的,每次修改必须刷新CDN缓存,不然浏览器刷死也不会生效。


CDN配置cors允许跨域访问时注意事项:


1.     目前不支持泛域名添加,如*.12345.com,仅支持域名精确匹配。


2.     目前仅支持配置一条白名单域名。


3.     若使用OSS产品作为源站,OSS与CDN平台同时配置Cors,CDN的配置将覆盖OSS。


4.     若源站为自己的服务器或ECS产品,建议先进行动静分离,静态文件使用CDN加速,CDN控制台配置的Cors功能,仅对静态文件生效。


2、


可在直接通过配置BT面板,进行nginx配置的原因,找到nginx的配置文件

 

添加以下代码

 

location ~ .*.(eot|ttf|ttc|otf|eot|woff|woff2|svg)(.*) {
	add_header Access-Control-Allow-Origin http(s)://这里填写你的域名;
}

# 如果不行换这个
location ~ .*.(eot|ttf|ttc|otf|eot|woff|woff2|svg)(.*) {
	add_header Access-Control-Allow-Origin *;
}

在BT面板中如下图

55ccef5247418a11eff28d23dbc7467d.png

配置完成后,记得重启下cdn的缓存,刷新页面。

扫描二维码推送至手机访问。

版权声明:本文由天涯家园HomeH发布,如需转载请注明出处。

本文链接:https://www.homeh.cc/post/143.html

标签: PHP编程字体
分享给朋友:

“解决CDN中,字体文件加载woff,的跨域问题,如何在网站使用cdn ttf woff字体跨域” 的相关文章

MySQL存储引擎InnoDB与Myisam的六大

摘要: MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。MySQL 有多种存储引擎,每种存储引擎有…

MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。2、I…

开源CMS软件AKCMS的页眉如何修改

很多免费开源CMS软件都会在自己的作品页眉中加上自己的版权信息,比如ecms,dedecms,ecshop,discuz,会在你的网站中某个地方插入powered by xxoo这种字眼。AKCMS是怎么插入的呢?要如何修改呢,其中有2个地方:1,他会在你每个网页底部强行插入powered by a…

值得推荐的国内外的开源 PHP CMS 系统有哪些?

值得推荐的国内外的开源 PHP CMS 系统有哪些?

开源的网站系统很多,今天就统计整理一下现在流行的各种开源系统、cms推荐,分享给大家参考使用,如果大家有好的资源分享,也请在本文留言评论!一 国内CMS1.cms系统1)知名cmsdedecms: www.dedecms.com/优点:免费开源、简单易上手、前后台分离、前台模版标签、可安装主题插件、…

PHP基础教程:从入门到精通

hp是一种广泛使用的开源服务器端脚本语言,它可以处理web开发中所有的任务。php在网页开发中的应用广泛,尤其是在动态数据处理上表现优异,因此被众多开发者喜爱和使用。在本篇文章中,我们将一步步地讲解php基础知识,帮助初学者从入门到精通。一、基本语法PHP是一种解释性语言,其代码类似于HTML、CS…

[php编程]php中运行后怎么停,php停止脚本运行的操作方法

php停止脚本运行的操作方法发布时间:2020-07-21 17:32:33来源:亿速云阅读:112作者:小新本篇文章和大家了解一下php停止脚本运行的操作方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。php停止脚本运行的方法是:return、die、exit。如果exit用…