Menghubungkan layanan respons HTML ICAP ke Squid 7
Hubungkan layanan respons ICAP yang sudah ada ke proxy forward Squid 7 dan tentukan respons mana yang harus diubahnya.
Untuk proxy forward Squid yang perlu mengubah respons HTML, gunakan jalur adaptasi. Squid menangani permintaan proxy peramban; layanan respons ICAP melakukan transformasi isi dan mengembalikan pesan HTTP yang telah diadaptasi.
Ini memberi transformasi tempat yang jelas dalam siklus hidup permintaan. Aturan header respons tidak dapat menggantikan parser HTML, dan filter server web terpisah tidak otomatis memproses lalu lintas yang melewati Squid.
Menghubungkan layanan respons
Untuk build Squid 7 dengan dukungan ICAP dan layanan kompatibel yang sudah ada, bentuk konfigurasinya adalah:
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
Rentang klien dan URI layanan hanyalah contoh. URI harus menamai layanan ICAP nyata yang menerapkan transformasi respons; mendeklarasikan /modify tidak menciptakannya. Fragmen ini melengkapi listener proxy yang sudah ada dan kontrol aksesnya.
respmod_precache memilih adaptasi respons pada titik sebelum cache. adaptation_access memilih transaksi untuk layanan tersebut. Pengaturan bypass=0 berarti Squid tidak dapat diam-diam melewati layanan ini ketika transaksi yang berlaku menemui kegagalan layanan. Pilih perilaku kegagalan itu bergantung pada apakah transformasi diwajibkan.
Direktif adaptasi bergantung pada versi. Secara khusus, referensi konfigurasi ini mencantumkan antarmuka layanan ICAP dan akses adaptasi untuk Squid 7 dan jalur yang didukung sebelumnya, serta menandainya tidak tersedia di Squid 8. Perlakukan fragmen sebagai contoh untuk Squid 7, bukan menyalinnya ke rilis sembarang.
Memberi layanan kontrak transformasi yang tepat
Tentukan respons mana yang memenuhi syarat dan perubahan apa yang diperlukan. Transformasi khusus HTML harus membiarkan gambar, arsip, dan media tak terkait. Layanan juga perlu menangani representasi yang benar-benar diterimanya: isi terkompresi, pengodean karakter, dan metadata yang menjelaskan isi yang diubah. Menyisipkan teks ke dalam byte respons sembarang bukanlah transformasi HTML umum.
Pertimbangkan cache ketika penggantian bersifat khusus pengguna. Transformasi sebelum cache dan cache bersama adalah kombinasi buruk jika representasi yang dihasilkan hanya valid untuk satu pembaca. Jaga agar kemampuan cache dan kebijakan transformasi selaras, dan patuhi direktif no-transform yang berlaku.
Terakhir, terowongan HTTPS CONNECT biasa membawa byte terenkripsi. Ini tidak memperlihatkan HTML kepada adaptor respons. Pengaturan inspeksi TLS yang dikelola secara sengaja memerlukan penyiapan kompatibel dan kepercayaan klien tersendiri sebelum respons yang didekripsi dapat masuk ke jalur ini. Aturan ICAP saja tidak menambahkan visibilitas itu.