Bruk adaptasjonsbanen for en Squid-videresendingsproxy som må transformere en HTML-respons. Squid håndterer nettleserens proxyforespørsel; en ICAP-responstjeneste utfører kroppstransformasjonen og returnerer den tilpassede HTTP-meldingen.

Dette gir transformasjonen en fast plass i forespørselslivssyklusen. En responshode-regel kan ikke erstatte en HTML-parser, og et eget nettserverfilter behandler ikke automatisk trafikk som passerer gjennom Squid.

Koble til en responstjeneste

For et 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 responstransformasjonen; å erklære /modify oppretter ingen. Fragmentet utfyller proxyens eksisterende lytter og tilgangskontroller.

respmod_precache velger responstilpasning på punktet før hurtigbufferen. adaptation_access velger transaksjoner for den tjenesten. Innstillingen bypass=0 betyr at Squid ikke kan hoppe stille 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 responser 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 responsbytes er ikke en generell HTML-transformasjon.

Vurder hurtigbuffer når erstatningen er brukerspesifikk. En transformasjon før hurtigbufferen og en delt hurtigbuffer er en dårlig kombinasjon hvis representasjonen som oppstår bare er gyldig for én leser. Hold hurtigbufferbarhet og transformasjonspolicy i takt, og overhold gjeldende no-transform-direktiver.

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

Relaterte artikler