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.

Другие вопросы по тегам