Como usar o IIS URL Rewrite com compactação gzip


13

Eu tenho tentado criar regras de saída no IIS 7.5 no Windows 2008 R2 em um site que possui páginas HTML estáticas e compactação ativada.

Se eu tiver qualquer forma de compactação ativada (estática ou dinâmica), recebo este erro:

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

Desativar a compactação não é realmente uma opção devido ao grande impacto negativo que teria no desempenho do carregamento da página.

Eu imagino que qualquer pessoa que use regras de reescrita de saída enfrente esse erro, pois você sempre desejaria a compactação ativada para conteúdo textual.

Analisei algumas sugestões para que isso funcionasse:

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

e

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

Mas ainda recebo o mesmo erro.

Alguém fez isso funcionar? Se sim, como?



1
Por que você está usando regras de reescrita de saída? Você pode fornecer uma amostra de uma dessas regras para o contexto? Talvez uma regra de reescrita normal seja suficiente?
Anthony Kolka

Respostas:


1

Consulte: https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52 -status-codes /

As regras de reescrita de saída não podem ser aplicadas quando o conteúdo da resposta HTTP é codificado ("gzip").

Isso ocorre porque as respostas que vêm do servidor back-end estão usando compactação HTTP e a reescrita de URL não pode modificar uma resposta que já está compactada. Isso causa um erro de processamento para a regra de saída, resultando no código de status 500.52.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.