Очередной рабочий день, в течении которого пришлось убить 3-4 часа на поиски в инете казалось бы простого решения - как настроить сжатие траффика на IIS 6.0 - открыл для меня сакральное знание...и прибавил пару седых волос и раскачал и без того мои расшатанные нервы:)...
А именно, чтобы настроить сжатие траффика на IIS, можно следовать следующей инструкции:
Enabling HTTP Compression (IIS 6.0)
Для моего сервера необходимо было настроить сжатие для динамических файлов, а именно:
aspx & js - файлы последнего расширения выдаются asp.net приложением посредством http handler...
Казалось, что проще, следуем следующей инструкции:
Customizing the File Types IIS Compresses (IIS 6.0)
сделал все как описано, запустил пару скриптов из раздела
сделал все как описано, запустил пару скриптов из раздела
To add one or more file types to the server-wide dynamic compression configuration:
а именно:
cscript adsutil.vbs SET W3SVC/Filters/Compression/Deflate/HcScriptFileExtensions "asp dll exe aspx js"
cscript adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions "asp dll exe aspx js"
(как оказалось, этим рекомендациям верить нельзя, опишу решение дальше...)
казалось, бы на этом можно и закончить, но все check-сервера отказывались видеть мои страницы с расширением aspx, js как сжатые...
список серверов:
казалось, бы на этом можно и закончить, но все check-сервера отказывались видеть мои страницы с расширением aspx, js как сжатые...
список серверов:
- http://www.seoconsultants.com/tools/compression.asp
- http://www.pipeboost.com/
проверял все, никаких результатов, решения добился следующим образом - полный цикл всех необходимых операций:
1. в консоли управления iis (inetmgr.exe) на ветке websites выбираем properties, идем во вкладку service, в группе http compression устанавлием следующие флаги:
compress static files - если нам нужно сжатие статических файлов нашего приложения, т.е. txt, html, htm...
compress application files - если нам нужно добиться сжатия файлов приложений asp.net
2. идем в настройку web service extensions, добавляем новое расширение, назовем его для примера http compression, указываем на файл расширения C:\WINDOWS\system32\inetsrv\gzip.dll.
3. тут же устанавлием флажок Set extension status to Allowed
в принципе - это все стандартно, и конфликтов не должно было быть, дальше у меня возникли сложности с настройкой расширений...вышеуказанная ссылка на рекомендации microsoft убили пару часов моего времени, а именно, когда в gzip/HcScriptFileExtensions "asp dll exe aspx js"
указывал расширения через пробел, о чем впрочем и говорилось...поэтому не верьте, читайте дальше...
настройка расширений:
4. сначала позволяем прямое редактирование файла метаданных iis server, для этого идем в оснастку inetmgr, на top-level ветке дерева выбираем свойства и устанавливаем флажок "Enable direct metabese edit"
5. далее в каталоге C:\WINDOWS\system32\inetsrv ищем файл metabase.xml, начинаем его редактирование - сразу оговорюсь, лучше сделать backup файла во избежанием его повреждения.
6. в файле ищем секции:
НЕПРАВИЛЬНО, список расширений нужно указавать не через пробел (собственно говоря, список расширений получился в таком виде в результате запуска вышеуказанных скриптов через cscscript.exe):
а через начало новой строки, просто enter....это, кстати, и есть грабли:), приблизительно так - ТАК ПРАВИЛЬНО:
в результате сжатия добился, результаты сжатия таковы:
http://www.pipeboost.com/
http://www.seoconsultants.com/tools/compression.asp
в принципе стоило из-за чего побороться...
удачи всем и не наступать на мои грабли...
compress static files - если нам нужно сжатие статических файлов нашего приложения, т.е. txt, html, htm...
compress application files - если нам нужно добиться сжатия файлов приложений asp.net
2. идем в настройку web service extensions, добавляем новое расширение, назовем его для примера http compression, указываем на файл расширения C:\WINDOWS\system32\inetsrv\gzip.dll.
3. тут же устанавлием флажок Set extension status to Allowed
в принципе - это все стандартно, и конфликтов не должно было быть, дальше у меня возникли сложности с настройкой расширений...вышеуказанная ссылка на рекомендации microsoft убили пару часов моего времени, а именно, когда в gzip/HcScriptFileExtensions "asp dll exe aspx js"
указывал расширения через пробел, о чем впрочем и говорилось...поэтому не верьте, читайте дальше...
настройка расширений:
4. сначала позволяем прямое редактирование файла метаданных iis server, для этого идем в оснастку inetmgr, на top-level ветке дерева выбираем свойства и устанавливаем флажок "Enable direct metabese edit"
5. далее в каталоге C:\WINDOWS\system32\inetsrv ищем файл metabase.xml, начинаем его редактирование - сразу оговорюсь, лучше сделать backup файла во избежанием его повреждения.
6. в файле ищем секции:
а через начало новой строки, просто enter....это, кстати, и есть грабли:), приблизительно так - ТАК ПРАВИЛЬНО:
http://www.pipeboost.com/
5 комментариев:
Вообще-то задачка решается за 5 секунд при помощи MetabaseExplorer (Это как Regedit для реестра). Незаменимая вещь для IIS администратора.
Спасибо :)
просто я не IIS администратор ...
Поводом для написания послужил неудачный опыт использования ZipEnable, который некоректно менял файла метабазы IIS, поэтому и пришлось разбираться с такими нюансами...
MS поправил команду добавления расширений - http://technet2.microsoft.com/WindowsServer/ru/Library/5dc453d4-c841-43ae-9053-396f5fb3d25c1049.mspx?mfr=true - в кавычки нужно брать каждое расширение, а не строку целиком
спасибо за ссылку
ресурс полезный
А как проверить, что сервер выдает сжатое содержимое? Сервер в локальной сети и выхода наружу нет.
Спасибо
Отправить комментарий