Bruk adaptasjonsvegen for ein Squid-vidaresendingsproxy som må transformere eit HTML-svar. Squid handterer proxyførespurnaden frå nettlesaren; ei ICAP-svarsteneste utfører kroppstransformasjonen og returnerer den tilpassa HTTP-meldinga.

Dette gjev transformasjonen ein definert stad i livssyklusen til førespurnaden. Ei svarhovud-regel kan ikkje erstatte ein HTML-parsar, og eit separat nettenarfilter handsamar ikkje automatisk trafikk som går gjennom Squid.

Kople til ei svarsteneste

For eit Squid 7-bygg med ICAP-støtte og ei eksisterande kompatibel teneste er konfigurasjonsforma:

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 URI-en til tenesta er døme. URI-en må namngje ei faktisk ICAP-teneste som implementerer svartransformasjonen; å erklære /modify lagar inga. Fragmentet utfyller den eksisterande lyttaren og tilgangskontrollane til proxyen.

respmod_precache vel svartilpassing på punktet før mellomlageret. adaptation_access vel transaksjonar for den tenesta. Innstillinga bypass=0 tyder at Squid ikkje stille kan hoppe over denne tenesta når ein gjeldande transaksjon møter ein tenestefeil. Vel den feilåtferda ut frå om transformasjonen er påkravd.

Adaptasjonsdirektiva er versjonsavhengige. Desse konfigurasjonsreferansane listar særleg grensesnitta for ICAP-teneste og adaptasjonstilgang for Squid 7 og tidlegare støtta linjer, og merkjer dei som utilgjengelege i Squid 8. Handsame fragmentet som eit Squid 7-døme i staden for å kopiere det inn i ei vilkårleg utgåve.

Gje tenesta ein presis transformasjonskontrakt

Oppgje kva svar som er kvalifiserte, og kva endringar som krevst. Ein HTML-berre-transformasjon bør la bilete, arkiv og urelaterte medium vere i fred. Tenesta må òg handsame representasjonen ho faktisk får: komprimerte kroppar, teiknkodingar og metadataa som skildrar den endra kroppen. Å setje inn tekst i vilkårlege svarbyte er ikkje ein generell HTML-transformasjon.

Vurder mellomlager når erstatninga er brukarspesifikk. Ein transformasjon før mellomlageret og eit delt mellomlager er ein dårleg kombinasjon om representasjonen som kjem ut berre er gyldig for éin lesar. Hald mellomlagerføre og transformasjonspolicyen på line, og følg gjeldande no-transform-direktiv.

Til slutt fører ein vanleg HTTPS CONNECT-tunnel krypterte byte. Han legg ikkje HTML fram for ein svaradapter. Ei medvite styrt TLS-inspeksjonsordning treng sitt eige kompatible oppsett og klienttillit før dekrypterte svar kan kome inn på denne vegen. Berre ICAP-regelen legg ikkje til den synlegheita.

Relaterte artiklar