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?

mpipe3
fonte
Estou com outro problema ... stackoverflow.com/questions/30806106/…
Desenvolvedor
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.

AKS
fonte