Forbind en ICAP HTML-svarstjeneste med Squid 7
Forbind en eksisterende ICAP-svarstjeneste med en Squid 7-videresendelsesproxy, og beslut hvilke svar den skal transformere.
Brug adaptationsvejen for en Squid-videresendelsesproxy, der skal transformere et HTML-svar. Squid håndterer browserens proxyanmodning; en ICAP-svarstjeneste udfører kropstransformationen og returnerer den tilpassede HTTP-meddelelse.
Det giver transformationen en fast plads i anmodningens livscyklus. En svarheaderregel kan ikke erstatte en HTML-parser, og et separat webserverfilter behandler ikke automatisk trafik, der passerer gennem Squid.
Forbind en svarstjeneste
For et Squid 7-build med ICAP-understøttelse og en eksisterende kompatibel tjeneste er 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
Klientområdet og tjenestens URI er eksempler. URI'en skal navngive en faktisk ICAP-tjeneste, der implementerer svartransformationen; at erklære /modify opretter ikke en. Fragmentet supplerer proxyens eksisterende listener og adgangskontroller.
respmod_precache vælger svartilpasning på punktet før cachen. adaptation_access vælger transaktioner for den tjeneste. Indstillingen bypass=0 betyder, at Squid ikke lydløst kan springe denne tjeneste over, når en relevant transaktion møder en tjenestefejl. Vælg den fejladfærd ud fra, om transformationen er påkrævet.
Adaptationsdirektiverne afhænger af versionen. Disse konfigurationsreferencer viser især ICAP-tjeneste- og adaptationsadgangsinterfaces for Squid 7 og tidligere understøttede linjer og markerer dem som utilgængelige i Squid 8. Behandl fragmentet som et Squid 7-eksempel i stedet for at kopiere det til en vilkårlig udgivelse.
Giv tjenesten en præcis transformationskontrakt
Angiv, hvilke svar der er kvalificerede, og hvilke ændringer der kræves. En HTML-kun-transformation bør lade billeder, arkiver og urelaterede medier være i fred. Tjenesten skal også håndtere den repræsentation, den faktisk modtager: komprimerede kroppe, tegnkodninger og metadata, der beskriver den ændrede krop. Indsættelse af tekst i vilkårlige svarbites er ikke en generel HTML-transformation.
Overvej caching, når erstatningen er brugerspecifik. En transformation før cachen og en delt cache er en dårlig kombination, hvis den resulterende repræsentation kun er gyldig for én læser. Hold cacheabilitet og transformationspolitik på linje, og overhold gældende no-transform-direktiver.
Endelig bærer en almindelig HTTPS CONNECT-tunnel krypterede bytes. Den eksponerer ikke HTML for en svaradapter. En bevidst administreret TLS-inspektionsordning kræver sit eget kompatible opsætning og klienttillid, før dekrypterede svar kan komme ind på denne vej. ICAP-reglen alene tilføjer ikke den synlighed.