วิธีใช้ 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

แต่ฉันยังคงได้รับข้อผิดพลาดเดียวกัน

มีใครได้รับสิ่งนี้ให้ทำงาน ถ้าเป็นเช่นนั้นได้อย่างไร


ฉันมีปัญหาอื่น ... stackoverflow.com/questions/30806106/…
นักพัฒนา

1
เหตุใดคุณจึงใช้กฎการเขียนซ้ำขาออก คุณสามารถให้ตัวอย่างหนึ่งในกฎเหล่านี้สำหรับบริบทหรือไม่ บางทีกฎการเขียนซ้ำปกติจะพอเพียง?
Anthony Kolka

คำตอบ:


1

โปรดอ้างอิง: https://blogs.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52 เลือกสถานะรหัส /

กฎการเขียนซ้ำขาออกไม่สามารถใช้เมื่อเนื้อหาของการตอบสนอง HTTP ถูกเข้ารหัส ("gzip")

นี่เป็นเพราะการตอบสนองที่มาจากเซิร์ฟเวอร์ด้านหลังกำลังใช้การบีบอัด HTTP และการเขียน URL ใหม่ไม่สามารถแก้ไขการตอบสนองที่ถูกบีบอัดแล้ว สิ่งนี้ทำให้เกิดข้อผิดพลาดในการประมวลผลสำหรับกฎขาออกส่งผลให้รหัสสถานะ 500.52

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.