Pre dopredné proxy Squid, ktoré potrebuje transformovať odpoveď HTML, použite cestu adaptácie. Squid obsluhuje proxy požiadavku prehliadača; služba odpovedí ICAP vykonáva transformáciu tela a vracia adaptovanú správu HTTP.

To dáva transformácii určené miesto v životnom cykle požiadavky. Pravidlo hlavičky odpovede nemôže nahradiť parser HTML a samostatný filter webového servera automaticky nespracúva prevádzku prechádzajúcu cez Squid.

Pripojenie služby odpovedí

Pre zostavenie Squid 7 s podporou ICAP a existujúcu kompatibilnú službu je tvar konfigurácie tento:

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

Rozsah klientov a URI služby sú príklady. URI musí označovať skutočnú službu ICAP, ktorá vykonáva transformáciu odpovede; deklarácia /modify ju nevytvorí. Fragment dopĺňa existujúci listener proxy a riadenie prístupu.

respmod_precache volí adaptáciu odpovedí v bode pred vyrovnávacou pamäťou. adaptation_access volí transakcie pre túto službu. Nastavenie bypass=0 znamená, že Squid nemôže túto službu ticho preskočiť, keď príslušná transakcia narazí na zlyhanie služby. Toto správanie pri zlyhaní zvoľte podľa toho, či je transformácia povinná.

Direktívy adaptácie závisia od verzie. Tieto konfiguračné odkazy uvádzajú rozhrania služby ICAP a prístupu k adaptácii pre Squid 7 a staršie podporované línie a označujú ich ako nedostupné v Squid 8. Berte fragment ako príklad pre Squid 7, nekopírujte ho do ľubovoľného vydania.

Dajte službe presnú zmluvu transformácie

Určte, ktoré odpovede sú spôsobilé a aké zmeny sú potrebné. Transformácia iba HTML má nechať obrázky, archívy a nesúvisiace médiá na pokoji. Služba musí tiež spracovať reprezentáciu, ktorú skutočne dostáva: komprimované telá, kódovania znakov a metadáta opisujúce zmenené telo. Vkladanie textu do ľubovoľných bajtov odpovede nie je všeobecná transformácia HTML.

Zvážte ukladanie do vyrovnávacej pamäte, ak je nahradenie špecifické pre používateľa. Transformácia pred vyrovnávacou pamäťou a zdieľaná vyrovnávacia pamäť sú zlá kombinácia, ak je výsledná reprezentácia platná len pre jedného čitateľa. Udržujte ukladateľnosť a politiku transformácie v súlade a rešpektujte príslušné direktívy no-transform.

Napokon bežný tunel HTTPS CONNECT prenáša zašifrované bajty. Nevystavuje HTML adaptéru odpovedí. Zámerne spravované usporiadanie inšpekcie TLS potrebuje vlastné kompatibilné nastavenie a dôveru klienta, kým dešifrované odpovede môžu vstúpiť na túto cestu. Samotné pravidlo ICAP túto viditeľnosť nepridá.

Súvisiace články