2016-08-03 51 views
0

問題與Windows服務器2012(標準)對IIS 8激活Gzip已Gzip已不工作 - NO_MATCHING_SCHEME

  • 所以我激活了壓縮在Windows功能
  • 我在IIS中籤的兩個複選框 - 壓縮(動態和靜態) 但仍然沒有Gzip可用。但是,在我的本地主機(只是一個Windows 10),這個工程。

我所看到的是,當我通過服務器本地主機瀏覽我的網站時,gzip臨時目錄(C:\ inetpub \ temp \ IIS Temporary Compressed Files)正在被填滿。但奇怪的是,我沒有看到任何鍍鉻的Gzip-ped。

唯一的頭文件(在chrome中)是:HTTP/1.1 304 Not Modified Accept-Ranges:bytes ETag:「0a354779de8d11:0」服務器:Microsoft-IIS/8.0 X-Powered-By:ASP.NET Date:Thu ,2016年7月28日13時41分04秒GMT

(即使YSlow的是說不Gzip已被激活)

當我刪除gzip的Temp文件夾,瀏覽到該網站低谷「官方」網站的網址,然後甚至沒有產生任何事。

有沒有人知道這裏發生了什麼?

我在web.config中添加了這個

<httpCompression> 
<staticTypes> 
    <add mimeType="text/*" enabled="true" /> 
    <add mimeType="message/*" enabled="true" /> 
    <add mimeType="application/javascript" enabled="true" /> 
    <add mimeType="application/x-javascript" enabled="true" /> 
    <add mimeType="image/jpeg" enabled="true" /> 
    <add mimeType="*/*" enabled="false" /> 
</staticTypes> 
<dynamicTypes> 
    <add mimeType="text/*" enabled="true" /> 
    <add mimeType="message/*" enabled="true" /> 
    <add mimeType="application/javascript" enabled="true" /> 
    <add mimeType="application/x-javascript" enabled="true" /> 
    <add mimeType="image/jpeg" enabled="true" /> 
    <add mimeType="*/*" enabled="false" /> 
</dynamicTypes> 
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="4" /> 
</httpCompression> 

看到這個題目等,在這裏我激活更多的日誌信息,Gzip not working, server 2012, IIS 8

我得到的是:

<RenderingInfo Culture="nl-BE"> 
<Opcode>STATIC_COMPRESSION_NOT_SUCCESS</Opcode> 
<Keywords> 
    <Keyword>Compression</Keyword> 
</Keywords> 
<freb:Description Data="Reason">NO_MATCHING_SCHEME</freb:Description> 
</RenderingInfo> 

回答

0

你能嘗試添加到你的web.config文件?我建議如此,因爲它在IIS Windows共享主機上爲我工作。它類似於一些改變你的代碼...

<system.webServer> 
     <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
     <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/> 
     <dynamicTypes> 
      <add mimeType="text/*" enabled="true"/> 
      <add mimeType="message/*" enabled="true"/> 
      <add mimeType="application/javascript" enabled="true"/> 
      <add mimeType="application/javascript; charset=utf-8" enabled="true"/> 
      <add mimeType="application/x-javascript" enabled="true"/> 
      <add mimeType="*/*" enabled="false"/> 
     </dynamicTypes> 
     <staticTypes> 
      <add mimeType="text/*" enabled="true"/> 
      <add mimeType="message/*" enabled="true"/> 
      <add mimeType="application/javascript" enabled="true"/> 
      <add mimeType="application/javascript; charset=utf-8" enabled="true"/> 
      <add mimeType="application/x-javascript" enabled="true"/> 
      <add mimeType="*/*" enabled="false"/> 
     </staticTypes> 

    </httpCompression> 
    <urlCompression doStaticCompression="true" doDynamicCompression="true"/> 
</system.webServer> 

我不知道,如果你需要添加

<add mimeType="image/jpeg" enabled="true" /> 

是不是JPEG一種壓縮格式?如果你願意,你可以添加它。

[可選]:我在MaxCdn讀到這個。

原始服務器應包括各不相同:接受編碼,和這裏的如何:

<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
    <remove name="Vary"></remove> 
    <add name="Vary" value="Accept-Encoding"></add> 
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 

您可以將此位添加到您的web.config文件以及,部署,並通過瀏覽器的檢查,在請求頭開發者工具本身。