2016-07-28 4 views
0

Проблемы с активацией Gzip на IIS 8 на Windows Server 2012 (стандарт)Gzip не работает, сервер 2012, IIS 8

  • Так я активировал компрессию в окнах особенности
  • Я проверил обе галочки в IIS - сжатие (динамическое и статическое)

Но все еще не доступен Gzip. Однако на моей машине localhost (только окна 10) это работает.

Что я вижу, это то, что каталог временного сжатого файла gzip (C: \ inetpub \ temp \ IIS Temporary Compressed Files) заполняется, когда я просматриваю свой сайт с помощью локального сервера. НО, как ни странно, я ничего не вижу Gzip-ped в хроме.

Только заголовки (в хроме) являются: HTTP/1.1 304 Not Modified Accept-Ranges: байты ETag: "0a354779de8d11: 0" Сервер: Microsoft-IIS/8.0 X-Powered-By: ASP .NET Дата: Чт, 28 июля 2016 13:41:04 GMT

(Даже YSlow говорит нет GZIP не активирован)

Когда я удалить папку GZIP временную, а также просматривать на сайте корыта " официальный URL-адрес веб-сайта, тогда ничего не генерируется.

Кто-нибудь знает, что здесь происходит?

// редактировать: Даже добавил это в 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> 

ответ

0

Вот как я бы устранить это:

Я использую PowerShell здесь, но вы можете использовать графический интерфейс или другие инструменты, а также:

Убедитесь, что вы установили отказавший модуль трассировки запроса:

Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpTracing 

включить трассировку для вашего сайта (изменить название): трассировка

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='Default Web Site']/traceFailedRequestsLogging" -name "enabled" -value "True" 

установки:

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.webServer/tracing/traceFailedRequests" -name "." -value @{path='*.html'} 
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.webServer/tracing/traceFailedRequests/add[@path='*.html']/traceAreas" -name "." -value @{provider='WWW Server';areas='Compression';verbosity='Verbose'} 
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.webServer/tracing/traceFailedRequests/add[@path='*.html']/failureDefinitions" -name "statusCodes" -value "200,304" 

вы в конечном итоге с чем-то вроде этого в вашем web.config:

<system.webServer> 
    <tracing> 
     <traceFailedRequests> 
      <add path="*.html"> 
       <traceAreas> 
        <add provider="WWW Server" areas="Compression" verbosity="Verbose" /> 
       </traceAreas> 
       <failureDefinitions statusCodes="200,304" /> 
      </add> 
     </traceFailedRequests> 
    </tracing> 
</system.webServer> 

Я ограничил его html-файлами с http-статусом 200 или 304, и нас интересует только Compression. Вы можете изменить это.

Теперь вы можете нажать на ваш сайт несколько раз, а затем посмотреть в

C:\inetpub\logs\FailedReqLogFiles\W3SVCx 

для некоторых файлов, копировать их на рабочую станцию, потому что это боль, чтобы открыть их на сервере.

Откройте XML-файлы и нажмите на вкладку Request Details, теперь поиск Compression вы должны увидеть подробную информацию о процессе сжатия или причина, почему запрос не сжимают, как NOT_FREQUENTLY_HIT или TOO SMALL