首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >internet explorer字体ssl

internet explorer字体ssl
EN

Stack Overflow用户
提问于 2012-02-02 03:44:54
回答 3查看 6.1K关注 0票数 8

我的网站的字体在使用http的所有浏览器中都工作得很好。然而,当我更改为https时,字体在IE8及以下版本中不起作用,在ie9中可以正常工作。

使用IE时,当我使用http输入.eot文件的路径时,我会得到下载该文件的选项,但当我使用https时,它会显示找不到该文件。

我使用的是自己分配的证书。IIS7.5 .net 4.0,umbraco 4.7.0 cms,客户端依赖框架(我已经尝试过移除客户端依赖框架,但仍然不起作用)。

代码语言:javascript
复制
<style type="text/css">    
@font-face {
                font-family: 'GGX88UltraLight';
                src: url('/css/type/ggx88_ul-webfont.eot');
                src: url('/css/type/ggx88_ul-webfont.eot?iefix') format('embedded-opentype'),
                     url('/css/type/ggx88_ul-webfont.woff') format('woff'),
                     url('/css/type/ggx88_ul-webfont.ttf') format('truetype'),
                     url('/css/type/ggx88_ul-webfont.svg#webfontU6kiGgEl') format('svg');
                font-weight: normal;
                font-style: normal;
    }
</style>

可能有用的web配置值

代码语言:javascript
复制
<staticContent>
  <!-- Set expire headers to 30 days for static content-->
  <clientCache cacheControlMode="DisableCache" cacheControlMaxAge="30.00:00:00" />
  <!-- use utf-8 encoding for anything served text/plain or text/html -->
  <remove fileExtension=".css" />
  <mimeMap fileExtension=".css" mimeType="text/css; charset=UTF-8" />
  <remove fileExtension=".js" />
  <mimeMap fileExtension=".js" mimeType="text/javascript; charset=UTF-8" />
  <remove fileExtension=".json" />
  <mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />
  <remove fileExtension=".rss" />
  <mimeMap fileExtension=".rss" mimeType="application/rss+xml; charset=UTF-8" />
  <remove fileExtension=".html" />
  <mimeMap fileExtension=".html" mimeType="text/html; charset=UTF-8" />
  <remove fileExtension=".xml" />
  <mimeMap fileExtension=".xml" mimeType="application/xml; charset=UTF-8" />
  <!-- HTML5 Video mime types-->
  <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  <mimeMap fileExtension=".m4v" mimeType="video/m4v" />
  <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
  <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
  <mimeMap fileExtension=".webm" mimeType="video/webm" />
  <!-- Remove default IIS mime type for .eot which is application/octet-stream -->
  <remove fileExtension=".eot" />
  <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> 
  <mimeMap fileExtension=".otf" mimeType="font/otf" />
  <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
  <mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension" />
  <mimeMap fileExtension=".xpi" mimeType="application/x-xpinstall" />
  <mimeMap fileExtension=".safariextz" mimeType="application/octet-stream" />
</staticContent>
<httpProtocol allowKeepAlive="true">
  <customHeaders>
    <add name="X-UA-Compatible" value="IE=Edge,chrome=1" />
    <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
</httpProtocol>
EN

回答 3

Stack Overflow用户

发布于 2017-03-29 20:24:55

我在使用spring-boot时遇到了同样的问题:我找到的解决方案是

-隐藏语法和缓存-控制返回给浏览器的标头:

Spring-boot使用特定的Cache-Control和Pragma HTTP标头进行响应。

代码语言:javascript
复制
Cache-Control :"no-cache, no-store, max-age=0, must-revalidate"
Pragma :"no-cache"

Internet explorer (在我的例子中是IE11)不能加载带有这些标题的字体。我认为这是一个错误,我们必须解决它。

使用nginx代理我们的spring-boot应用程序,我可以克服这个问题,通过使用以下nginx配置命令向浏览器隐藏头文件:

代码语言:javascript
复制
server {
        listen 443;
        server_name server.dns.name;
        ssl on;
        ssl_certificate /etc/nginx/ssl/server.dns.name.pem;
        ssl_certificate_key /etc/nginx/ssl/server.dns.name.key;

        location / {
            include  /etc/nginx/mime.types;
            rewrite ^/(.*) /$1 break;
            proxy_pass  http://127.0.0.1:8080;
            proxy_read_timeout 90;

            #IE specific tweak for fonts not to be ignored:
            proxy_hide_header Cache-Control;
            proxy_hide_header Pragma; 
            #END IE specific tweak for fonts not to be ignored
        }
}
票数 7
EN

Stack Overflow用户

发布于 2013-01-04 20:56:11

如果你改变了url来源的顺序会怎么样。比如把"svg“网址放在第二位..就在"embedded-opentype“之后。

代码语言:javascript
复制
   @font-face {
                font-family: 'GGX88UltraLight';
                src: url('/css/type/ggx88_ul-webfont.eot');
                src: url('/css/type/ggx88_ul-webfont.eot?iefix') format('embedded-opentype'),
                     url('/css/type/ggx88_ul-webfont.svg#webfontU6kiGgEl') format('svg'),
                     url('/css/type/ggx88_ul-webfont.woff') format('woff'),
                     url('/css/type/ggx88_ul-webfont.ttf') format('truetype');
                font-weight: normal;
                font-style: normal;
    }
票数 2
EN

Stack Overflow用户

发布于 2012-11-15 20:14:28

https站点使用一些SSL证书。你怎么才能相信这些。有关如何手动设置信任的更多详细信息,请访问https://serverfault.com/questions/176242/how-to-manually-trust-an-ssl-certificate-to-a-development-server

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9102185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档