Назад | Перейти на главную страницу

Как заставить IIS принимать кодировку: gzip (gfe)

Служба Google PageSpeed ​​пересылает запросы с accept-encoding заголовок установлен на gzip(gfe). К сожалению, IIS подавляется этим следующим:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 11 Apr 2014 02:19:39 GMT
Connection: close
Content-Length: 311

Вот полный запрос:

OPTIONS http://localhost/stream/tags HTTP/1.1
Accept-Encoding: gzip(gfe)
Content-Length: 0

Журнал HTTPERR просто перечисляет 400 Bad Request без дополнительных полей.

Я экспериментировал с изменением этого значения с помощью модуля перезаписи URL:

  <rule name="Accept Encoding Rewrite PageSpeed" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
      <add input="{HTTP_ACCEPT_ENCODING}" pattern="gfe" />
    </conditions>
    <serverVariables>
      <set name="HTTP_ACCEPT_ENCODING" value="gzip" />
    </serverVariables>
    <action type="None" />
  </rule>

Но я боюсь, что правила перезаписи работают после того, что генерирует 400.

А также с AllowWeakHeaderValueSyntax упомянутый в http://forums.iis.net/p/1176719/1976075.aspx

Любые идеи о том, как переназначить accept-кодировку на gzip без использования другого устройства?