Anslut en ICAP HTML-svarstjänst till Squid 7
Anslut en befintlig ICAP-svarstjänst till en Squid 7-vidarebefordringsproxy och avgör vilka svar den ska omvandla.
Använd adaptationsvägen för en Squid-vidarebefordringsproxy som behöver omvandla ett HTML-svar. Squid hanterar webbläsarens proxybegäran; en ICAP-svarstjänst utför kroppsomvandlingen och returnerar det anpassade HTTP-meddelandet.
Detta ger omvandlingen en bestämd plats i begärans livscykel. En svarshuvudregel kan inte ersätta en HTML-parser, och ett separat webbserverfilter bearbetar inte automatiskt trafik som passerar genom Squid.
Anslut en svarstjänst
För ett Squid 7-bygge med ICAP-stöd och en befintlig kompatibel tjänst är konfigurationsformen:
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
Klientintervallet och tjänstens URI är exempel. URI:n måste namnge en faktisk ICAP-tjänst som implementerar svarsomvandlingen; att deklarera /modify skapar ingen. Fragmentet kompletterar proxyns befintliga lyssnare och åtkomstkontroller.
respmod_precache väljer svarsanpassning vid punkten före cachen. adaptation_access väljer transaktioner för den tjänsten. Inställningen bypass=0 innebär att Squid inte tyst kan hoppa över den här tjänsten när en tillämplig transaktion möter ett tjänstefel. Välj det felbeteendet utifrån om omvandlingen är obligatorisk.
Adaptationsdirektiven är versionsberoende. Dessa konfigurationsreferenser listar särskilt gränssnitten för ICAP-tjänst och adaptationstillgång för Squid 7 och tidigare stödda grenar, och markerar dem som otillgängliga i Squid 8. Behandla fragmentet som ett Squid 7-exempel i stället för att kopiera det till en godtycklig utgåva.
Ge tjänsten ett exakt omvandlingskontrakt
Ange vilka svar som är kvalificerade och vilka ändringar som krävs. En HTML-endast-omvandling bör lämna bilder, arkiv och orelaterade medier i fred. Tjänsten måste också hantera den representation den faktiskt tar emot: komprimerade kroppar, teckenkodningar och metadata som beskriver den ändrade kroppen. Att infoga text i godtyckliga svarsbytes är inte en allmän HTML-omvandling.
Överväg cachelagring när ersättningen är användarspecifik. En omvandling före cachen och en delad cache är en dålig kombination om representationen som blir resultatet bara är giltig för en läsare. Håll cachelagringsförmåga och omvandlingspolicy i linje och följ tillämpliga no-transform-direktiv.
Slutligen transporterar en vanlig HTTPS CONNECT-tunnel krypterade byte. Den exponerar inte HTML för en svarsadapter. En medvetet hanterad TLS-inspektionslösning behöver sin egen kompatibla konfiguration och klientförtroende innan dekrypterade svar kan komma in på den här vägen. Enbart ICAP-regeln lägger inte till den synligheten.