站点无法加载hm.woff2的解决办法,iis设置允许跨域

技术分享
407 0

给博客自建了静态文件加速,结果发现鸿蒙字体无法显示效果

通过F12调试会发现 hm.woff2显示失败 ,打开URL发现又能打开

开始以为是MIME类型没添加的原因,在服务器中添加

.woffapplication/font-woff
.woff2application/font-woff2

发现还是失败,文件可以正常通过GET下载 但是无法正常调用

通过控制台找到详细错误解析:

已拦截跨源请求:同源策略禁止读取位于 /assets/fonts/hm.woff2 的远程资源。

(原因:CORS 头缺少 'Access-Control-Allow-Origin')。状态码:200。

参考火狐的解决办法及解释

那么就好解决了,因为用的是IIS,所以在HTTP响应标头中添加

名称: Access-Control-Allow-Origin

值:*

将iis设置允许跨域!

问题得到解决!

其他

CORS header 'Access-Control-Allow-Origin' missing

原因

原因:缺少 CORS 标头“Access-Control-Allow-Origin”
Copy to Clipboard
哪里出错了?
对 CORS 请求的响应缺少必需的 Access-Control-Allow-Origin 标头,其用于确定在当前源内操作的资源是否可以访问。

如果服务器在你的控制之下,请将请求站点的源添加到允许访问的域集,方法是将其添加到 Access-Control-Allow-Origin 标头的值。

例如,要允许 https://amazing.site 上的站点使用 CORS 访问资源,这个标头应该是:

Access-Control-Allow-Origin: https://amazing.site
Copy to Clipboard
你还可以使用 通配符配置站点使得允许任何站点访问它,这样的处理应该只用于公共的 API,私有 API 永远不应使用 ,而应设置特定的一个域或一些域。此外,通配符仅适用于将 crossorigin 属性设置为 anonymous 的请求。

Access-Control-Allow-Origin: *
Copy to Clipboard
警告: 使用通配符允许所有站点访问私有 API 是显而易见的坏主意。

如果要在不使用 * 通配符的情况下让任意站点发出 CORS 请求(例如,为了启用凭证),你的服务器必须读取请求的 Origin 标头,将那个值设置为 Access-Control-Allow-Origin 的值,且必须一并设置 Vary: Origin 标头,表明一部分标头由 origin 动态决定。

设置标头的命令取决于你的 Web 服务器。例如,在 Apache 服务器中,将下面一行添加到服务器的配置中(在相应的 部分中)。配置通常位于 .conf 文件中(httpd.conf 和 apache.conf 是这些文件的通用名称),或者位于 .htaccess 文件中。

Header set Access-Control-Allow-Origin 'origin-list'
对于 Nginx,设置此标头的命令是:

add_header 'Access-Control-Allow-Origin' 'origin-list';

https://www.76fx.com/130.html
最后更新 2023-02-16
评论 ( 0 )
问:贰 + 壹 = ?
OωO
隐私评论