2010-11-03 14 views
4

J'essaie d'activer la compression GZIP sur IIS 7.5.Activer GZIP Erreur de compression: STATIC_COMPRESSION_NOT_SUCCESS

Je pense que tous les paramètres sont corrects.

En ApplicationHost.config j'ai cette section httpCompression:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" minFileSizeForComp="0"> 
     <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 
     <staticTypes> 
      <add mimeType="text/*" enabled="true" /> 
      <add mimeType="message/*" enabled="true" /> 
      <add mimeType="application/x-javascript" enabled="true" /> 
      <add mimeType="application/atom+xml" enabled="true" /> 
      <add mimeType="application/xaml+xml" enabled="true" /> 
     </staticTypes> 
</httpCompression> 

Et cette section urlCompression:

<urlCompression dostaticcompression="true" /> 

et Voici Echec demande de recherches Résultat:

STATIC_COMPRESSION_NOT_SUCCESS  
    Reason="UNKNOWN_ERROR" 

Répondre

3

Les configurations ci-dessous ont travaillé pour moi. Remplacez simplement la section httpCompression dans applicationHost.config par la donnée ci-dessous et redémarrez IIS. C'est tout!!!

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" 
    staticCompressionDisableCpuUsage="95" staticCompressionEnableCpuUsage="60" 
    dynamicCompressionDisableCpuUsage="95" dynamicCompressionEnableCpuUsage="50"> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" /> 
    <dynamicTypes> 
     <add mimeType="text/*" enabled="true" /> 
     <add mimeType="message/*" enabled="true" /> 
     <add mimeType="application/x-javascript" enabled="true" /> 
     <add mimeType="*/*" enabled="false" /> 
     <add mimeType="application/json" enabled="true" /> 
     <add mimeType="application/json; charset=utf-8" enabled="true" /> 
    </dynamicTypes> 
    <staticTypes> 
     <add mimeType="text/*" enabled="true" /> 
     <add mimeType="message/*" enabled="true" /> 
     <add mimeType="application/x-javascript" enabled="true" /> 
     <add mimeType="application/atom+xml" enabled="true" /> 
     <add mimeType="application/xaml+xml" enabled="true" /> 
     <add mimeType="application/json" enabled="true" /> 
     <add mimeType="application/json; charset=utf-8" enabled="true" /> 
     <add mimeType="*/*" enabled="false" /> 
    </staticTypes> 
    </httpCompression> 

Après avoir configuré, j'ai obtenu les en-têtes ci-dessous en réponse qui indique que les données sont compressées en utilisant la compression gzip

Cache-Control → no-cache 
Content-Encoding → gzip 
Content-Length → 4202 
Content-Type → application/json; charset=utf-8 
Date → Wed, 22 Jul 2015 07:40:17 GMT 
Expires → -1 
Pragma → no-cache 
Vary → Accept-Encoding 
X-Powered-By → ASP.NET 

La configuration ci-dessus est pour l'ensemble des services Internet. Si vous souhaitez configurer ce pour un seul site Web, puis remplacer

<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> 

avec

<section name="httpCompression" overrideModeDefault="Allow" /> 

dans applicationHost.config et au lieu de remplacer la section httpCompression dans applicationHost.config, ajoutez sous étiquette system.webServer dans web.config de votre site Web

Vérifiez également que vous avez spécifié le type MIME correct pour vos données. Dans mon cas, il était en JSON, donc j'ai utilisé les configurations ci-dessous

<add mimeType="application/json" enabled="true" /> 
<add mimeType="application/json; charset=utf-8" enabled="true" /> 
0

Si je regardez web.config du projet html5-boilerplate ils utilisent cette méthode:

<!-- 
      GZip static file content. Overrides the server default which only compresses static files over 2700 bytes 
     --> 
     <httpCompression directory="%SystemDrive%\websites\_compressed" minFileSizeForComp="1024"> 
      <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 
      <staticTypes> 
       <add mimeType="text/*" enabled="true" /> 
       <add mimeType="message/*" enabled="true" /> 
       <add mimeType="application/javascript" enabled="true" /> 
       <add mimeType="application/json" enabled="true" /> 
       <add mimeType="*/*" enabled="false" /> 
      </staticTypes> 
     </httpCompression> 

https://github.com/paulirish/html5-boilerplate-server-configs/blob/master/web.config

Peut-être est la valeur zéro que vous avez spécifié, ou le chemin du répertoire que vous utilisez.

Voir aussi

+0

merci pour les grands articles. travaillé pour moi – abzarak

0

Je suggère de vérifier que le compte du pool d'applications utilisateur, si vous en avez, possède tous les droits spécifiques sur le répertoire "%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"