Как использовать IIS URL Rewrite со сжатием 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

Но я все еще получаю ту же ошибку.

Кто-нибудь получил это на работу? Если так, как?

mpipe3
источник
У меня есть еще одна проблема ... 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.

АКС
источник