V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HSvng
V2EX  ›  程序员

开启 HTTPS 之后 网站出现字体文件跨域的问题 请问如何解决?

  •  
  •   HSvng · 2018-12-04 16:13:07 +08:00 · 4053 次点击
    这是一个创建于 2163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尝试过网上一些方法都不行...

    14 条回复    2018-12-05 10:43:20 +08:00
    boluo
        1
    boluo  
       2018-12-04 16:29:13 +08:00 via Android
    作为一个懒人,我选择字体本地化…
    moonsola
        2
    moonsola  
       2018-12-04 16:29:15 +08:00
    先说清楚尝试过哪些方法。难不成让大家一个一个猜?
    KasuganoSoras
        3
    KasuganoSoras  
       2018-12-04 16:31:54 +08:00
    首先,字体文件存储的服务器必须也要支持 HTTPS
    然后,如果字体所在的服务器和网站不是同一个域名,也就是跨域的话,需要在存储字体的服务器设置 Header
    access-control-allow-origin
    想省事一点的话就 access-control-allow-origin: *,但是人家可以直接跨域引用你的字体文件,当然如果你不担心自己流量爆炸的话……随意吧
    yangehappy
        4
    yangehappy  
       2018-12-04 16:36:25 +08:00
    字体文件是 http 还是 https
    duan602728596
        5
    duan602728596  
       2018-12-04 16:39:07 +08:00 via iPhone
    如果是 cdn 的话,换成 https 的地址啊
    phpcxy
        6
    phpcxy  
       2018-12-04 16:56:44 +08:00
    放七牛去~
    jifengg
        7
    jifengg  
       2018-12-04 17:31:04 +08:00
    https 和跨域是两个不同的问题吧。我觉得你出现的问题应该是启用了 https 之后,浏览器不允许你加载非 https 的资源( chrome 可以加载,但是会提示不安全,ios 貌似直接就不允许)。解决办法就是字体文件也换 https 的。
    Tink
        8
    Tink  
       2018-12-04 18:19:29 +08:00 via iPhone
    放自己服务器上
    flowfire
        9
    flowfire  
       2018-12-04 19:19:30 +08:00 via iPhone
    字体不会有跨域问题,我觉得你最好贴一下报错代码或者截图,以及建议移动到 问与答 节点
    Sparetire
        10
    Sparetire  
       2018-12-04 19:36:33 +08:00 via Android
    字体在有些浏览器会跨域的,需要配 cors
    mandy0119
        11
    mandy0119  
       2018-12-04 20:29:08 +08:00
    https 跟跨域没关系把。 应该是之前使用的链接是 http,https 内是不允许使用 http 资源的
    davin
        12
    davin  
       2018-12-05 00:31:59 +08:00 via iPhone
    楼主没有说清楚具体是什么样的字体,有的字体是有版权的,不可以放在服务器上进行引用。
    envylee
        13
    envylee  
       2018-12-05 10:28:29 +08:00 via iPhone
    我是把字体放在又拍云,七牛应该也一样,设置好调用域名的白名单;之后是去你自己服务器上写好 rewrite 规则就行;字体跨域的文章很多,你主要是检查下自己的规则有没有写对,你说找不到肯定是不存在的。
    envylee
        14
    envylee  
       2018-12-05 10:43:20 +08:00 via iPhone
    不过我觉得如果只是少数几个必须字体或者 iconfont 的话你完全可以把需要用到的部分提取出来合并成一个字体文件,然后格式选 woff2,压缩效果也还不错;

    腾讯前端还是哪家去了也有现成的开源框架,如果是复用很高的字体的话他们还有 win 端的软件可以一次性提取生成新的 otf。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:14 · PVG 08:14 · LAX 16:14 · JFK 19:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.