Kết nối dịch vụ phản hồi HTML ICAP với Squid 7
Kết nối một dịch vụ phản hồi ICAP hiện có với proxy chuyển tiếp Squid 7 và quyết định những phản hồi nào cần được biến đổi.
Với proxy chuyển tiếp Squid cần biến đổi một phản hồi HTML, hãy dùng đường thích ứng. Squid xử lý yêu cầu proxy của trình duyệt; một dịch vụ phản hồi ICAP thực hiện việc biến đổi phần thân và trả về thông điệp HTTP đã thích ứng.
Điều này cho việc biến đổi một vị trí xác định trong vòng đời yêu cầu. Một quy tắc tiêu đề phản hồi không thể thay thế trình phân tích HTML, và một bộ lọc máy chủ web riêng không tự động xử lý lưu lượng đi qua Squid.
Kết nối một dịch vụ phản hồi
Với bản dựng Squid 7 có hỗ trợ ICAP và một dịch vụ tương thích hiện có, dạng cấu hình là:
acl adaptation_clients src 192.0.2.0/24
icap_enable on
icap_service html_editor respmod_precache bypass=0 icap://127.0.0.1:1344/modify
adaptation_access html_editor allow adaptation_clients
adaptation_access html_editor deny all
Dải máy khách và URI dịch vụ chỉ là ví dụ. URI phải nêu tên một dịch vụ ICAP thực sự triển khai việc biến đổi phản hồi; khai báo /modify không tạo ra dịch vụ đó. Đoạn này bổ sung cho trình lắng nghe và các kiểm soát truy cập hiện có của proxy.
respmod_precache chọn thích ứng phản hồi tại điểm trước bộ nhớ đệm. adaptation_access chọn các giao dịch cho dịch vụ đó. Cấu hình bypass=0 nghĩa là Squid không thể âm thầm bỏ qua dịch vụ này khi một giao dịch áp dụng gặp lỗi dịch vụ. Hãy chọn hành vi khi lỗi đó tùy theo việc biến đổi có bắt buộc hay không.
Các chỉ thị thích ứng phụ thuộc vào phiên bản. Cụ thể, các tài liệu cấu hình này liệt kê giao diện dịch vụ ICAP và truy cập thích ứng cho Squid 7 và các nhánh được hỗ trợ trước đó, đồng thời đánh dấu chúng là không khả dụng trong Squid 8. Hãy coi đoạn này là ví dụ cho Squid 7 thay vì sao chép nó vào một bản phát hành bất kỳ.
Cho dịch vụ một hợp đồng biến đổi chính xác
Nêu rõ phản hồi nào đủ điều kiện và những thay đổi nào là cần thiết. Việc biến đổi chỉ HTML nên để yên hình ảnh, kho lưu trữ và phương tiện không liên quan. Dịch vụ cũng cần xử lý biểu diễn mà nó thực sự nhận được: phần thân đã nén, bảng mã ký tự và siêu dữ liệu mô tả phần thân đã thay đổi. Chèn văn bản vào các byte phản hồi tùy ý không phải là biến đổi HTML tổng quát.
Hãy cân nhắc bộ nhớ đệm khi việc thay thế dành riêng cho người dùng. Biến đổi trước bộ nhớ đệm và bộ nhớ đệm dùng chung là sự kết hợp tồi nếu biểu diễn tạo ra chỉ hợp lệ cho một người đọc. Giữ khả năng lưu đệm và chính sách biến đổi nhất quán, và tuân thủ các chỉ thị no-transform áp dụng.
Cuối cùng, một đường hầm HTTPS CONNECT thông thường mang các byte đã mã hóa. Nó không để lộ HTML cho bộ thích ứng phản hồi. Một cơ cấu kiểm tra TLS được quản lý có chủ đích cần thiết lập tương thích và sự tin cậy của máy khách trước khi các phản hồi đã giải mã có thể đi vào đường này. Chỉ riêng quy tắc ICAP không thêm khả năng hiển thị đó.