Vir 'n Squid-vooruitwaartse volmag wat 'n HTML-respons moet transformeer, gebruik die aanpassingsroete. Squid hanteer die blaaier se volmagversoek; 'n ICAP-responsdiens voer die liggaamstransformasie uit en stuur die aangepaste HTTP-boodskap terug.

Dit gee die transformasie 'n bepaalde plek in die versoeklewensiklus. 'n Responskopreël kan nie 'n HTML-ontleder vervang nie, en 'n aparte webdiensfilter verwerk nie outomaties verkeer wat deur Squid gaan nie.

Verbind 'n responsdiens

Vir 'n Squid 7-bou met ICAP-ondersteuning en 'n bestaande versoenbare diens is die konfigurasievorm:

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

Die kliëntreeks en diens-URI is voorbeelde. Die URI moet 'n werklike ICAP-diens benoem wat die responstransformasie implementeer; om /modify te verklaar, skep nie een nie. Die fragment vul die volmag se bestaande luisteraar en toegangsbeheer aan.

respmod_precache kies responsaanpassing by die voorcache-punt. adaptation_access kies transaksies vir daardie diens. Die bypass=0-instelling beteken Squid kan hierdie diens nie stilweg oorslaan wanneer 'n toepaslike transaksie 'n diensfout teëkom nie. Kies daardie foutgedrag na gelang van of die transformasie vereis word.

Die aanpassingsrichtlyne is weergawe-spesifiek. Hierdie konfigurasieverwysings lys die ICAP-diens- en aanpassingstoegang-koppelvlakke vir Squid 7 en vroeëre ondersteunde reekse, en merk hulle as onbeskikbaar in Squid 8. Behandel die fragment as 'n Squid 7-voorbeeld eerder as om dit in 'n willekeurige vrystelling te kopieer.

Gee die diens 'n presiese transformasiekontrak

Spesifiseer watter response in aanmerking kom en watter veranderinge vereis word. 'n Slegs-HTML-transformasie moet beelde, argiewe en onverwante media alleen laat. Die diens moet ook die voorstelling hanteer wat dit werklik ontvang: saamgeperste liggame, karakterkoderings en die metadata wat die veranderde liggaam beskryf. Om teks in willekeurige responsgrepe in te voeg is nie 'n algemene HTML-transformasie nie.

Oorweeg kasstoring wanneer die vervanging gebruiker-spesifiek is. 'n Voorcache-transformasie en 'n gedeelde kas is 'n swak kombinasie as die resulterende voorstelling slegs vir een leser geldig is. Hou kasbaarheid en transformasiebeleid in lyn, en respekteer toepaslike no-transform-richtlyne.

Laastens, 'n gewone HTTPS CONNECT-tonnel dra geënkripteerde grepe. Dit stel nie HTML aan 'n responsadapter bloot nie. 'n Doelbewus bestuurde TLS-inspeksie-reëling benodig sy eie versoenbare opstelling en kliëntvertroue voordat ontsleutelde response hierdie roete kan betree. Die ICAP-reël alleen voeg nie daardie sigbaarheid by nie.

Verwante artikels