我在几个Chrome浏览器上收到以下错误,但不是全部.目前还不确定问题是什么.
来自" https://ABCDEFG.cloudfront.net "的字体已被跨源资源共享策略阻止加载:请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许来源" https://sub.domain.com "访问.
我在S3上有以下CORS配置
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedHeader>*</AllowedHeader>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
请求
Remote Address:1.2.3.4:443
Request URL:https://abcdefg.cloudfront.net/folder/path/icons-f10eba064933db447695cf85b06f7df3.woff
Request Method:GET
Status Code:200 OK
Request Headers
Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Host:abcdefg.cloudfront.net
Origin:https://sub.domain.com
Pragma:no-cache
Referer:https://abcdefg.cloudfront.net/folder/path/icons-e283e9c896b17f5fb5717f7c9f6b05eb.css
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36
Run Code Online (Sandbox Code Playgroud)
来自Cloudfront/S3的所有其他请求都能正常工作,包括JS文件.
即使在localhost中,我也无法在firefox中正确显示font-awesome.我收到以下跨域错误:
Timestamp: 08/08/2012 02:49:37 PM
Error: downloadable font: download failed (font-family: "FontAwesome" style:normal weight:normal stretch:normal `src index:2): bad URI or cross-site access not allowed
source: http://localhost:3000/djpsite/baseadmin/font/fontawesome-webfont.ttf
Source File: http://localhost:3000/djpsite/baseadmin/css/font-awesome.css
Line: 0
Source Code:
@font-face { font-family: "FontAwesome"; font-style: normal; font-weight: normal; src: url("../font/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("../font/fontawesome-webfont.woff") format("woff"), url("../font/fontawesome-webfont.ttf") format("truetype"), url("../font/fontawesome-webfont.svg#FontAwesome") format("svg"); }
Run Code Online (Sandbox Code Playgroud)
我按照这篇文章的建议使用双引号:firefox @ font-face使用fontawesome失败但是没有解决问题.
Chrome中的一切都运行良好; 有什么建议?
除了解决Chrome中的问题之外,鉴于此限制,我应该如何在CDN上销售字体 - http://dev.w3.org/csswg/css3-fonts/#default-same-origin-restriction?
以下是我的CSS文件中的代码:
@font-face {
font-family: 'FontAwesome';
src: url("../font/fontawesome-webfont.eot");
src: url("../font/fontawesome-webfont.eot?#iefix") format('embedded-opentype'),
url("../font/fontawesome-webfont.woff") format('woff'),
url("../font/fontawesome-webfont.ttf") format('truetype'),
url("../font/fontawesome-webfont.svg#FontAwesome") format('svg');
font-weight: normal; …Run Code Online (Sandbox Code Playgroud) 从今天早上开始,我的网站在 Chrome 中遇到 CORS 错误,试图从 CDN 加载字体真棒字体。生产和开发服务器都受到影响。我没有改变任何东西,错误完全出乎意料:
已从来源“ https://www.xxxx.com ”访问“ https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2 ”中的字体被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。Origin ' https://www.xxxx.com ' 因此不允许访问。响应具有 HTTP 状态代码 502。
我已经添加了
Header set Access-Control-Allow-Origin "*"
到我服务器的 .htaccess 无济于事。
我需要做什么才能消除此错误?