2012-02-01 23 views
5

Las fuentes para mi sitio funcionan bien en todos los navegadores que usan http. Sin embargo, cuando cambio a https, las fuentes no funcionan en IE8 y abajo, funciona correctamente en ie9.cara de fuente de Internet Explorer ssl

Usando IE, cuando escribo la ruta al archivo .eot usando http, tengo la opción de descargar el archivo, pero cuando uso https, dice que no se puede encontrar.

Estoy usando un certificado auto asignado. iis 7.5 .net 4.0, umbraco 4.7.0 cms, marco de dependencia del cliente (He intentado con el marco de dependencia del cliente eliminado, todavía no funcionó).

<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> 

valores de configuración web que podrían ser útiles

<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> 
+0

Esto parece ser algún tipo de servidor problema de configuración o de la intranet. Cuando moví el sitio hasta el servidor de transición, las fuentes funcionaban bien. – pinniger

Respuesta

1

¿Qué sucede si cambia el orden de las fuentes de la URL? Como poner la url "svg" en segundo lugar ... justo después de "embedded-opentype".

@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; 
    } 
3

que enfrentan el mismo comportamiento utilizando resorte de arranque: la solución que encontré fue a

- Ocultar Pragma y Cache-Control devuelven cabeceras al navegador:

Primavera-arranque está respondiendo con Cache-Control específico y encabezados Pragma HTTP.

Cache-Control :"no-cache, no-store, max-age=0, must-revalidate" 
Pragma :"no-cache" 

Internet Explorer (IE11 en mi caso) no puede cargar fuentes con esos encabezados. Creo que es un error y tenemos que enfrentarlo.

Usando nginx para aproximar nuestra aplicación de primavera-arranque, que podía superar el problema, escondite que cabeceras al navegador mediante el uso de los siguientes comandos de configuración de nginx:

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 
     } 
}