Bruk adaptasjonsbanen for en Squid-videresendingproxy som må transformere et HTML-svar. Squid håndterer nettleserens proxyforespørsel; en ICAP-svarstjeneste utfører kropstransformasjonen og returnerer den tilpassede HTTP-meldingen.

Dette gir transformasjonen en definert plass i forespørselslivssyklusen. En svarhode-regel kan ikke erstatte en HTML-parser, og et separat nettserverfilter behandler ikke automatisk trafikk som går gjennom Squid.

Koble til en svarstjeneste

For en Squid 7-bygg med ICAP-støtte og en eksisterende kompatibel tjeneste er konfigurasjonsformen:

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 må navngi en faktisk ICAP-tjeneste som implementerer svartransformasjonen; å erklære /modify oppretter ingen. Fragmentet supplerer proxyens eksisterende lytter og tilgangskontroller.

respmod_precache velger svartilpasning på punktet før hurtiglageret. adaptation_access velger transaksjoner for den tjenesten. Innstillingen bypass=0 betyr at Squid ikke stille kan hoppe over denne tjenesten når en gjeldende transaksjon møter en tjenestefeil. Velg den feilatferden ut fra om transformasjonen er påkrevd.

Adaptasjonsdirektivene er versjonsavhengige. Disse konfigurasjonsreferansene lister særlig grensesnittene for ICAP-tjeneste og adaptasjonstilgang for Squid 7 og tidligere støttede linjer, og markerer dem som utilgjengelige i Squid 8. Behandle fragmentet som et Squid 7-eksempel i stedet for å kopiere det inn i en vilkårlig utgivelse.

Gi tjenesten en presis transformasjonskontrakt

Angi hvilke svar som er kvalifiserte, og hvilke endringer som kreves. En HTML-kun-transformasjon bør la bilder, arkiver og urelaterte medier være i fred. Tjenesten må også håndtere representasjonen den faktisk mottar: komprimerte kropper, tegnkodinger og metadataene som beskriver den endrede kroppen. Å sette inn tekst i vilkårlige svarbytes er ikke en generell HTML-transformasjon.

Vurder hurtiglager når erstatningen er brukerspesifikk. En transformasjon før hurtiglageret og et delt hurtiglager er en dårlig kombinasjon hvis representasjonen som oppstår bare er gyldig for én leser. Hold hurtiglagerbarhet og transformasjonspolicy på linje, og overhold gjeldende no-transform-direktiver.

Til slutt bærer en vanlig HTTPS CONNECT-tunnel krypterte byte. Den eksponerer ikke HTML for en svaradapter. En bevisst administrert TLS-inspeksjonsordning trenger sitt eget kompatible oppsett og klienttillit før dekrypterte svar kan komme inn på denne veien. Bare ICAP-regelen legger ikke til den synligheten.

Relaterte artikler