Připojení služby odpovědí ICAP HTML k Squid 7
Připojte existující službu odpovědí ICAP k dopředné proxy Squid 7 a rozhodněte, které odpovědi má transformovat.
Pro dopřednou proxy Squid, která potřebuje transformovat odpověď HTML, použijte cestu adaptace. Squid obsluhuje proxy požadavek prohlížeče; služba odpovědí ICAP provádí transformaci těla a vrací adaptovanou zprávu HTTP.
To dává transformaci určené místo v životním cyklu požadavku. Pravidlo hlavičky odpovědi nemůže nahradit HTML parser a samostatný filtr webového serveru automaticky nezpracovává provoz procházející přes Squid.
Připojení služby odpovědí
Pro sestavení Squid 7 s podporou ICAP a existující kompatibilní službu je tvar konfigurace 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 klientů a URI služby jsou příklady. URI musí označovat skutečnou službu ICAP, která provádí transformaci odpovědi; deklarace /modify ji nevytvoří. Fragment doplňuje stávající listener proxy a řízení přístupu.
respmod_precache volí adaptaci odpovědi v bodě před cache. adaptation_access volí transakce pro tuto službu. Nastavení bypass=0 znamená, že Squid nemůže tuto službu tiše přeskočit, když příslušná transakce narazí na selhání služby. Toto chování při selhání zvolte podle toho, zda je transformace povinná.
Direktivy adaptace závisí na verzi. Tyto konfigurační reference uvádějí rozhraní služby ICAP a přístupu k adaptaci pro Squid 7 a dřívější podporované řady a označují je jako nedostupné v Squid 8. Berte fragment jako příklad pro Squid 7, nekopírujte jej do libovolného vydání.
Dejte službě přesnou smlouvu transformace
Určete, které odpovědi jsou způsobilé a jaké změny jsou nutné. Transformace pouze HTML má nechat obrázky, archivy a nesouvisející média na pokoji. Služba také musí zpracovat reprezentaci, kterou skutečně dostává: komprimovaná těla, znaková kódování a metadata popisující změněné tělo. Vkládání textu do libovolných bajtů odpovědi není obecná transformace HTML.
Zvažte ukládání do mezipaměti, pokud je nahrazení specifické pro uživatele. Transformace před mezipamětí a sdílená mezipaměť jsou špatná kombinace, pokud je výsledná reprezentace platná jen pro jednoho čtenáře. Udržujte ukládatelnost a politiku transformace v souladu a respektujte příslušné direktivy no-transform.
Nakonec běžný tunel HTTPS CONNECT přenáší šifrované bajty. Nevystavuje HTML adaptéru odpovědí. Záměrně řízené uspořádání pro inspekci TLS potřebuje vlastní kompatibilní nastavení a důvěru klienta, než dešifrované odpovědi mohou vstoupit na tuto cestu. Samotné pravidlo ICAP tuto viditelnost nepřidá.