Conectarea unui serviciu de răspunsuri HTML ICAP la Squid 7
Conectați un serviciu de răspunsuri ICAP existent la un proxy direct Squid 7 și decideți ce răspunsuri trebuie transformate.
Pentru un proxy direct Squid care trebuie să transforme un răspuns HTML, folosiți calea de adaptare. Squid gestionează cererea de proxy a browserului; un serviciu de răspunsuri ICAP efectuează transformarea corpului și returnează mesajul HTTP adaptat.
Aceasta oferă transformării un loc definit în ciclul de viață al cererii. O regulă de antet de răspuns nu poate înlocui un parser HTML, iar un filtru separat de server web nu procesează automat traficul care trece prin Squid.
Conectarea unui serviciu de răspunsuri
Pentru o compilare Squid 7 cu suport ICAP și un serviciu compatibil existent, forma configurației este:
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
Intervalul de clienți și URI-ul serviciului sunt exemple. URI-ul trebuie să numească un serviciu ICAP real care implementează transformarea răspunsului; declararea /modify nu creează unul. Fragmentul completează ascultătorul existent al proxy-ului și controalele de acces.
respmod_precache selectează adaptarea răspunsurilor în punctul dinaintea memoriei cache. adaptation_access selectează tranzacțiile pentru acel serviciu. Setarea bypass=0 înseamnă că Squid nu poate sări în tăcere peste acest serviciu atunci când o tranzacție aplicabilă întâlnește o defecțiune a serviciului. Alegeți acel comportament la defecțiune în funcție de obligativitatea transformării.
Directivele de adaptare depind de versiune. În special, aceste referințe de configurare enumeră interfețele de serviciu ICAP și de acces la adaptare pentru Squid 7 și pentru liniile acceptate anterioare și le marchează ca indisponibile în Squid 8. Tratați fragmentul ca pe un exemplu pentru Squid 7 în loc să îl copiați într-o versiune arbitrară.
Dați serviciului un contract de transformare precis
Precizați ce răspunsuri sunt eligibile și ce modificări sunt necesare. O transformare doar HTML ar trebui să lase neatinse imaginile, arhivele și materialele media neconexe. Serviciul trebuie să gestioneze și reprezentarea pe care o primește efectiv: corpuri comprimate, codificări de caractere și metadatele care descriu corpul modificat. Inserarea de text în octeți de răspuns arbitrari nu este o transformare HTML generală.
Luați în considerare memoria cache atunci când înlocuirea este specifică utilizatorului. O transformare înainte de cache și un cache partajat sunt o combinație slabă dacă reprezentarea rezultată este valabilă doar pentru un singur cititor. Mențineți aliniate capacitatea de cache și politica de transformare și respectați directivele no-transform aplicabile.
În final, un tunel HTTPS CONNECT obișnuit transportă octeți criptați. Nu expune HTML unui adaptor de răspunsuri. O soluție de inspecție TLS administrată în mod deliberat are nevoie de propria configurare compatibilă și de încrederea clientului înainte ca răspunsurile decriptate să poată intra pe această cale. Doar regula ICAP nu adaugă această vizibilitate.