Za Squid forward proxy koji treba da transformiše HTML odgovor, koristite putanju prilagođavanja. Squid obrađuje proxy zahtev pregledača; ICAP usluga odgovora obavlja transformaciju tela i vraća prilagođenu HTTP poruku.

To daje transformaciji određeno mesto u životnom ciklusu zahteva. Pravilo zaglavlja odgovora ne može zameniti HTML parser, a zaseban filter veb servera ne obrađuje automatski saobraćaj koji prolazi kroz Squid.

Povezivanje usluge odgovora

Za Squid 7 build sa ICAP podrškom i postojećom kompatibilnom uslugom, oblik konfiguracije je:

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

Opseg klijenata i URI usluge su primeri. URI mora da imenuje stvarnu ICAP uslugu koja sprovodi transformaciju odgovora; deklarisanje /modify je ne stvara. Fragment dopunjuje postojeći slušalac proxyja i kontrole pristupa.

respmod_precache bira prilagođavanje odgovora u tački pre keša. adaptation_access bira transakcije za tu uslugu. Postavka bypass=0 znači da Squid ne može tiho preskočiti ovu uslugu kada primenljiva transakcija naiđe na kvar usluge. Izaberite to ponašanje pri kvaru prema tome da li je transformacija obavezna.

Direktive prilagođavanja zavise od verzije. Konkretno, ove konfiguracione reference navode interfejse ICAP usluge i pristupa prilagođavanju za Squid 7 i ranije podržane linije i označavaju ih kao nedostupne u Squid 8. Tretirajte fragment kao primer za Squid 7 umesto da ga kopirate u proizvoljno izdanje.

Dajte usluzi precizan ugovor transformacije

Navedite koji su odgovori podobni i koje su promene potrebne. Transformacija samo HTML-a treba da ostavi slike, arhive i nepovezane medije na miru. Usluga takođe mora da obrađuje reprezentaciju koju zaista prima: komprimovana tela, kodiranja znakova i metapodatke koji opisuju promenjeno telo. Umetanje teksta u proizvoljne bajtove odgovora nije opšta HTML transformacija.

Razmotrite keširanje kada je zamena specifična za korisnika. Transformacija pre keša i deljeni keš su loša kombinacija ako rezultujuća reprezentacija važi samo za jednog čitaoca. Držite mogućnost keširanja i politiku transformacije usklađenim i poštujte primenljive no-transform direktive.

Konačno, običan HTTPS CONNECT tunel prenosi šifrovane bajtove. On ne izlaže HTML adapteru odgovora. Namerno upravljan raspored TLS inspekcije treba sopstvenu kompatibilnu postavku i poverenje klijenta pre nego što dešifrovani odgovori mogu ući na ovu putanju. Samo ICAP pravilo ne dodaje tu vidljivost.

Povezani članci