IIS: Как включить http-сжатие на уровне сайта?
В облачной службе Azure у нас есть задача запуска, чтобы включить http-сжатие на уровне сервера.
%appcmd% set config -section:system.webServer/serverRuntime /frequentHitThreshold:"1"
%appcmd% set config -section:system.webServer/urlCompression /doDynamicCompression:"True"
%appcmd% set config -section:system.webServer/httpCompression /-"dynamicTypes.[mimeType='text/css']"
%appcmd% set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='text/css',enabled='True']"
Затем в файле web.config мы делаем это, чтобы включить http-сжатие на уровне сайта:
<urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" doStaticCompression="true" />
Это не работает. В диспетчере IIS я вижу, что на уровне сайта включено http-сжатие, но ответ не сжат.
Однако, если я установил все в false в web.config, а затем вручную включил настройки в IIS Manager, он тогда работает!
Есть мысли, почему это происходит? Это должно быть автоматизировано, поэтому, даже если ручная настройка работает, это не решение для меня.
Спасибо!!
1 ответ
Решение
Забыл ответить своим выводом - оказалось, что мне нужно было удалить настройки httpCompression и urlCompression в web.config, тогда все просто заработало. Похоже на ошибку IIS.