Як використовувати IIS Перезапис URL-адрес із стисканням gzip


13

Я намагався створити вихідні правила в IIS 7.5 для Windows 2008 R2 на сайті, на якому включені статичні HTML-сторінки та увімкнено стиснення.

Якщо у мене включена будь-яка форма стиснення (статична або динамічна), я отримую цю помилку:

HTTP Error 500.52 - URL Rewrite Module Error. Outbound rewrite rules cannot
be applied when the content of the HTTP response is encoded ("gzip").

Відключення стиснення насправді не є можливим через великий негативний вплив, який матиме на продуктивність завантаження сторінки.

Я думаю, що кожен, хто використовує правила перезапису вихідних даних, зіткнеться з цією помилкою, так як ви завжди хочете, щоб стиснення для текстового вмісту було увімкнено.

Я розглянув кілька пропозицій, щоб змусити це працювати:

/programming/3713804/url-rewrite-outbound-rules-iis7/4363301#4363301

і

http://forums.iis.net/p/1165899/1937454.aspx#1937454

Але я все одно отримую ту саму помилку.

Хтось змусив це працювати? Якщо так, як?


У мене є ще одна проблема ... stackoverflow.com/questions/30806106/…
Розробник

1
Чому ви використовуєте правила перезаписування вихідних даних? Чи можете ви надати зразок одного з цих правил для контексту? Можливо, нормального правила перезапису буде достатньо?
Ентоні Колка

Відповіді:


1

Зверніться: https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52 -status-коди /

Правила перезапису вихідних даних не можна застосовувати, коли вміст відповіді HTTP кодується ("gzip").

Це тому, що відповіді, що надходять із сервера зворотного кінця, використовують стиснення HTTP, і перезапис URL-адрес не може змінити відповідь, яка вже стиснута. Це призводить до помилки обробки для вихідного правила, що призводить до коду статусу 500.52.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.