2012-02-01 16 views
5

Czcionki na mojej stronie działają poprawnie we wszystkich przeglądarkach za pomocą http. Jednak po przejściu na https czcionki nie działają w IE8 i poniżej, działa poprawnie w ie9.Internet Explorer czcionka twarz ssl

Używając IE, kiedy wpisuję ścieżkę do pliku .eot za pomocą http, otrzymuję opcję pobrania pliku, ale kiedy używam https, jest napisane, że nie można go znaleźć.

Używam certyfikatu z przydziałem. iis 7.5 .net 4.0, umbraco 4.7.0 cms, framework zależności klienta (próbowałem z usuniętym ramą zależności klienta, nadal nie działało).

<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 config wartości, które mogą być przydatne

<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

ten wydaje się być jakimś serwerze problem z konfiguracją lub intranetem. Kiedy przeniosłem witrynę na serwer pomostowy, czcionki działały bez zarzutu. – pinniger

Odpowiedz

1

Co się stanie, jeśli zmieni się kolejność źródeł adresów URL. Podobnie jak umieścić adres URL "svg" na drugim miejscu ... zaraz po "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

I w obliczu tego samego zachowania za pomocą sprężyny-boot: rozwiązanie znalazłem było

- Ukryj Pragma i Cache-Control zwrócony nagłówków do przeglądarki:

Wiosna-boot odpowiada specyficznymi nagłówkami Cache-Control i Pragma HTTP.

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

Eksplorator Internetu (IE11 w moim przypadku) nie może załadować czcionek z tymi nagłówkami. Uważam, że to błąd i musimy sobie z nim poradzić.

Korzystanie nginx do pełnomocnika naszą aplikację wiosna-boot, mogłem przezwyciężyć ten problem, ukrywanie że nagłówki do przeglądarki za pomocą następujących nginx poleceń konfiguracyjnych:

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 
     } 
} 
Powiązane problemy