Сжатие Gzip на IIS - Не удается заставить его работать
У меня есть приложение IIS, и я пытаюсь заставить работать сжатие на стороне сервера GZIP. Приложение работает на EPIServer CMS (с которым я не очень знаком). Думаю, это может быть связано с CMS, как первый шаг...
Я решил создать новое приложение IIS и на этот раз с помощью Umbraco (еще одна CMS, с которой я очень хорошо знаком) - я создал базовую страницу с некоторыми файлами CSS и изображениями,
Content-Encoding: gzip
заголовок.
Это то, что я пробовал и проверял.
- Работая локально, я использую windows 10. и IIS 10
- Я включил Сжатие содержимого Dyamic и Сжатие статического содержимого в разделе Службы IIS> Функции производительности в компонентах Windows
- Для локально настроенного веб-сайта в IIS я удостоверился, что в разделе сжатия установлены оба флажка "Включить динамический и статический".
В моем файле веб-конфигурации я добавил эту единственную строку
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="false" />
Когда Webconfig имеет эту строку, я проверяю заголовки в моем браузере:
ЗАПРОСИТЬ ЗАГОЛОВОКИ
Accept: text/css,*/*;q=0.1
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Host: umbracotest.site
Proxy-Connection: keep-alive
Referer: http://umbracotest.site/
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36
ОТВЕТНЫЕ ЗАГОЛОВКИ
Accept-Ranges: bytes
Content-Type: text/css
Date: Tue, 01 May 2018 15:09:02 GMT
ETag: "03739d0e978d31:0"
Last-Modified: Tue, 19 Dec 2017 16:52:54 GMT
Transfer-Encoding: chunked
Vary: Accept-Encoding
Если я немного изменю эту строку webconfig - dynamicCompressionBeforeCache="false" на true - тогда я просто получу целую кучу символов в браузере - это что-нибудь значит?
Если я добавлю еще несколько строк в мой webconfig, чтобы это выглядело так:
<system.webServer> <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="image/png" enabled="true" /> <add mimeType="image/svg" 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="8" /> </httpCompression> <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="false" />
Заголовки все те же.
- C: \ inetpub \ temp \ Временные сжатые файлы IIS \MYAPPPOOL-NAME << эта папка создана, но пуста.
Это приложение ASP.net MVC Есть идеи?
1 ответ
Так что, постучав головой по стене около 8 часов, я, наконец, заставил ее работать!
После проверки всего дважды, прочитав каждый пост, который я смог найти по этой теме, я наткнулся на комментарий к аналогичному вопросу, в котором говорилось, что это может быть связано с моим антивирусным программным обеспечением. Я работаю в корпоративной среде, и у меня нет прав, чтобы отключить его на моей локальной машине. Поэтому я развернул код на нашем промежуточном сервере......... и он работает.
Поэтому, если у кого-то еще есть эта проблема, попробуйте отключить ваш антивирус и посмотреть, имеет ли это какое-то значение, это сработало для меня.