Para sa isang forward proxy na Squid na kailangang baguhin ang tugon ng HTML, gamitin ang daan ng adaptation. Hinahawakan ng Squid ang kahilingan sa proxy ng browser; isang serbisyong tugon ng ICAP ang nagsasagawa ng pagbabago sa katawan at ibinabalik ang inangkop na mensaheng HTTP.

Nagbibigay ito sa pagbabago ng tiyak na lugar sa ikot ng buhay ng kahilingan. Hindi kayang palitan ng panuntunan sa header ng tugon ang isang parser ng HTML, at ang hiwalay na filter ng web server ay hindi awtomatikong nagpoproseso ng trapikong dumadaan sa Squid.

Pagkonekta ng serbisyong tugon

Para sa isang build ng Squid 7 na may suporta sa ICAP at umiiral na katugmang serbisyo, ang anyo ng konfigurasyon ay:

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

Ang saklaw ng kliyente at URI ng serbisyo ay mga halimbawa. Dapat pangalanan ng URI ang tunay na serbisyong ICAP na nagpapatupad ng pagbabago sa tugon; ang pagpapahayag ng /modify ay hindi lumilikha ng isa. Dinadagdagan ng bahaging ito ang umiiral na tagapakinig ng proxy at mga kontrol sa pag-access.

respmod_precache ang pumipili ng adaptation ng tugon sa puntong bago ang cache. adaptation_access ang pumipili ng mga transaksyon para sa serbisyong iyon. Ang setting na bypass=0 ay nangangahulugang hindi maaaring lihim na laktawan ng Squid ang serbisyong ito kapag ang naaangkop na transaksyon ay nakatagpo ng pagpalya ng serbisyo. Piliin ang gawi sa pagpalya na iyon depende sa kung kinakailangan ang pagbabago.

Ang mga direktiba ng adaptation ay nakadepende sa bersyon. Sa partikular, inililista ng mga sangguniang ito sa konfigurasyon ang mga interface ng serbisyong ICAP at pag-access sa adaptation para sa Squid 7 at mga naunang sinusuportahang linya, at minamarkahan ang mga ito bilang hindi magagamit sa Squid 8. Ituring ang bahagi bilang halimbawa para sa Squid 7 sa halip na kopyahin ito sa anumang release.

Bigyan ang serbisyo ng tumpak na kontrata sa pagbabago

Tukuyin kung aling mga tugon ang karapat-dapat at anong mga pagbabago ang kailangan. Ang pagbabagong HTML lamang ay dapat mag-iwan ng mga larawan, archive at walang kaugnayang media. Kailangan ding pangasiwaan ng serbisyo ang representasyong aktuwal nitong natatanggap: mga naka-compress na katawan, mga encoding ng karakter at ang metadata na naglalarawan sa binagong katawan. Ang pagpasok ng teksto sa mga arbitraryong byte ng tugon ay hindi pangkalahatang pagbabago ng HTML.

Isaalang-alang ang cache kapag ang kapalit ay partikular sa gumagamit. Ang pagbabago bago ang cache at isang pinagsasaluhang cache ay masamang kombinasyon kung ang resultang representasyon ay wasto lamang para sa isang mambabasa. Panatilihing nakahanay ang kakayahang mag-cache at ang patakaran sa pagbabago, at igalang ang naaangkop na mga direktiba ng no-transform.

Sa huli, ang ordinaryong tunnel na HTTPS CONNECT ay nagdadala ng naka-encrypt na byte. Hindi nito inilalantad ang HTML sa isang adapter ng tugon. Ang sadyang pinamamahalaang kaayusan ng inspeksyon ng TLS ay nangangailangan ng sariling katugmang setup at tiwala ng kliyente bago makapasok ang mga na-decrypt na tugon sa daang ito. Ang tuntunin ng ICAP lamang ay hindi nagdaragdag ng ganitong kakitaan.

Kaugnay na mga artikulo