Cách sử dụng Rewrite URL IIS với nén gzip


13

Tôi đã cố gắng tạo các quy tắc ra bên ngoài trong IIS 7.5 trên Windows 2008 R2 trên một trang web có bật các trang HTML tĩnh và nén.

Nếu tôi có bất kỳ hình thức nén nào được kích hoạt (tĩnh hoặc động), tôi sẽ gặp lỗi này:

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

Tắt nén không thực sự là một lựa chọn do tác động tiêu cực lớn sẽ có đối với hiệu suất tải trang.

Tôi tưởng tượng bất cứ ai sử dụng các quy tắc viết lại ra bên ngoài sẽ gặp phải lỗi này, vì bạn sẽ luôn muốn kích hoạt tính năng nén cho nội dung văn bản.

Tôi đã xem xét một số gợi ý để thực hiện điều này:

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

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

Nhưng tôi vẫn nhận được lỗi tương tự.

Có ai có cái này để làm việc không? Nếu vậy thì thế nào?


Tôi có một vấn đề khác ... stackoverflow.com/questions/30806106/ Kẻ
Nhà phát triển

1
Tại sao bạn sử dụng quy tắc viết lại bên ngoài? Bạn có thể cung cấp một mẫu của một trong những quy tắc này cho bối cảnh không? Có lẽ một quy tắc viết lại bình thường sẽ đủ?
Anthony Kolka

Câu trả lời:


1

Vui lòng tham khảo: https://bloss.msdn.microsoft.com/friis/2016/08/25/iis-with-url-rewrite-as-a-reverse-proxy-part-2-deals-with-500-52 -status-mã /

Quy tắc viết lại bên ngoài không thể được áp dụng khi nội dung của phản hồi HTTP được mã hóa ("gzip").

Điều này là do các phản hồi đến từ máy chủ phía sau đang sử dụng Nén HTTP và việc viết lại URL không thể sửa đổi phản hồi đã được nén. Điều này gây ra lỗi xử lý cho quy tắc đi ra dẫn đến mã trạng thái 500,52.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.