Come usare IIS URL Rewrite con compressione gzip


13

Ho cercato di creare regole in uscita in IIS 7.5 su Windows 2008 R2 in un sito in cui sono abilitate le pagine HTML statiche e la compressione.

Se ho qualsiasi forma di compressione abilitata (statica o dinamica) ottengo questo errore:

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

La disattivazione della compressione non è in realtà un'opzione a causa del grande impatto negativo che avrebbe sulle prestazioni del caricamento della pagina.

Immagino che chiunque utilizzi le regole di riscrittura in uscita si imbatterà in questo errore, poiché si vorrebbe sempre abilitare la compressione per il contenuto testuale.

Ho esaminato alcuni suggerimenti per farlo funzionare:

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

e

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

Ma ho ancora lo stesso errore.

Qualcuno l'ha fatto funzionare? Se é cosi, come?



1
Perché stai usando le regole di riscrittura in uscita? Potete fornire un campione di una di queste regole per il contesto? Forse sarà sufficiente una normale regola di riscrittura?
Anthony Kolka,

Risposte:


1

Si prega di fare riferimento: https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52 -Status-codici /

Le regole di riscrittura in uscita non possono essere applicate quando il contenuto della risposta HTTP è codificato ("gzip").

Questo perché le risposte che provengono dal server back-end utilizzano la compressione HTTP e la riscrittura degli URL non può modificare una risposta già compressa. Ciò causa un errore di elaborazione per la regola in uscita con conseguente codice di stato 500.52.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.