Za Squid forward proxy koji treba transformisati HTML odgovor, koristite putanju prilagođavanja. Squid obrađuje proxy zahtjev preglednika; ICAP servis odgovora obavlja transformaciju tijela i vraća prilagođenu HTTP poruku.

To daje transformaciji određeno mjesto u životnom ciklusu zahtjeva. Pravilo zaglavlja odgovora ne može zamijeniti HTML parser, a zasebni filter web servera ne obrađuje automatski saobraćaj koji prolazi kroz Squid.

Povežite servis odgovora

Za Squid 7 build sa ICAP podrškom i postojećim kompatibilnim servisom, 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

Raspon klijenata i URI servisa su primjeri. URI mora imenovati stvarni ICAP servis koji izvodi transformaciju odgovora; deklarisanje /modify ga ne stvara. Fragment dopunjuje postojeći listener proxyja i kontrole pristupa.

respmod_precache bira prilagođavanje odgovora na tački prije keša. adaptation_access bira transakcije za taj servis. Postavka bypass=0 znači da Squid ne može tiho preskočiti ovaj servis kada primjenjiva transakcija naiđe na kvar servisa. Odaberite to ponašanje pri kvaru prema tome da li je transformacija obavezna.

Direktive prilagođavanja zavise od verzije. Konkretno, ove konfiguracijske reference navode interfejse ICAP servisa i pristupa prilagođavanju za Squid 7 i ranije podržane linije, te ih označavaju kao nedostupne u Squid 8. Tretirajte fragment kao primjer za Squid 7, a ne kopirajte ga u proizvoljno izdanje.

Dajte servisu precizan ugovor transformacije

Navedite koji su odgovori podobni i koje su promjene potrebne. Transformacija samo HTML-a treba da ostavi slike, arhive i nepovezane medije na miru. Servis također mora obraditi reprezentaciju koju zaista prima: komprimovana tijela, kodiranja znakova i metapodatke koji opisuju promijenjeno tijelo. Umetanje teksta u proizvoljne bajtove odgovora nije opća HTML transformacija.

Razmotrite keširanje kada je zamjena specifična za korisnika. Transformacija prije keša i dijeljeni keš su loša kombinacija ako rezultirajuća reprezentacija vrijedi samo za jednog čitaoca. Držite mogućnost keširanja i politiku transformacije usklađenim i poštujte primjenjive no-transform direktive.

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

Povezani članci