一尘不染

@ font-face EOT无法通过HTTPS加载

css

摘要

我在IE 7,8,9的HTTPS上使用@ font-face遇到了问题-它根本没有加载。不管包含的HTML页面是否托管在HTTPS上都没有关系,
当我尝试通过HTTP加载EOT字体时,它可以工作,而HTTPS则不能 。有人看到过这种行为吗?

托管字体的服务器正在发送正确的content-type =“ application / vnd.ms-fontobject”

我尝试了多种字体,所以它不是特定于字体的。

字体是在FontSquirrel生成的

CSS语法

@font-face {
font-family: 'GothamCondensedBold';
src:url('path/to/fontgothmbcd-webfont.eot');
src:url('path/to/fontgothmbcd-webfont.eot?#iefix') format('embedded-opentype'),
    url('path/to/fontgothmbcd-webfont.woff') format('woff'),
    url('path/to/fontgothmbcd-webfont.ttf') format('truetype'),
    url('path/to/fontgothmbcd-webfont.svg#GothamCondensedBold') format('svg');
font-weight: normal;
font-style: normal;
}

样本页面


阅读 370

收藏
2020-05-16

共1个答案

一尘不染

我知道这是一个旧线程,但我只需要权衡一下。在所有版本的Internet
Explorer(7-11)中,EOT和WOFF字体都存在相同的问题,但无法通过HTTPS加载。经过数小时的反复试验,并将标头与其他工作站点进行比较,我们发现正是vary标头弄乱了事情。取消为这些文件类型设置标头即可立即解决我们的问题。

<FilesMatch "\.(woff)$">
    Header unset Vary
</FilesMatch>

<FilesMatch "\.(eot)$">
    Header unset Vary
</FilesMatch>
2020-05-16