Падключэнне службы адказу ICAP HTML да Squid 7
Падключыце існуючую службу адказу ICAP да праксі Squid 7 і вырашыце, якія адказы яна павінна пераўтвараць.
Для праксі Squid, якому трэба пераўтвараць адказ HTML, выкарыстоўвайце шлях адаптацыі. Squid апрацоўвае запыт браўзера да праксі; служба адказу ICAP выконвае пераўтварэнне цела і вяртае адаптаванае паведамленне HTTP.
Гэта дае пераўтварэнню пэўнае месца ў жыццёвым цыкле запыту. Правіла загалоўка адказу не можа замяніць парсер HTML, а асобны фільтр вэб-сервера не апрацоўвае аўтаматычна трафік, што праходзіць праз Squid.
Падключыць службу адказу
Для зборкі Squid 7 з падтрымкай ICAP і існуючай сумяшчальнай службы форма канфігурацыі такая:
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
Дыяпазон кліентаў і URI службы — прыклады. URI павінен указваць на рэальную службу ICAP, якая выконвае пераўтварэнне адказу; абвяшчэнне /modify яе не стварае. Фрагмент дапаўняе існуючы слухач праксі і кантроль доступу.
respmod_precache выбірае адаптацыю адказу ў пункце перад кэшам. adaptation_access выбірае транзакцыі для гэтай службы. Налада bypass=0 азначае, што Squid не можа моўчкі прапусціць гэтую службу, калі адпаведная транзакцыя сутыкаецца з збоем службы. Выбірайце такія паводзіны пры збоі ў залежнасці ад таго, ці патрабуецца пераўтварэнне.
Дырэктывы адаптацыі залежаць ад версіі. У прыватнасці, гэтыя даведнікі канфігурацыі пералічваюць інтэрфейсы службы ICAP і доступу да адаптацыі для Squid 7 і ранейшых падтрымліваемых галін і пазначаюць іх як недаступныя ў Squid 8. Разглядайце фрагмент як прыклад для Squid 7, а не капіруйце яго ў адвольны выпуск.
Дайце службе дакладны кантракт пераўтварэння
Пазначце, якія адказы дапушчальныя і якія змены патрэбныя. Пераўтварэнне толькі HTML павінна пакідаць некранутымі выявы, архівы і незвязаныя медыя. Служба таксама павінна апрацоўваць прадстаўленне, якое яна фактычна атрымлівае: сціснутыя целы, кадаванні сімвалаў і метаданыя, што апісваюць змененае цела. Устаўка тэксту ў адвольныя байты адказу — не агульнае пераўтварэнне HTML.
Улічвайце кэшаванне, калі замена залежыць ад карыстальніка. Пераўтварэнне перад кэшам і агульны кэш — дрэннае спалучэнне, калі атрыманае прадстаўленне слушнае толькі для аднаго чытача. Трымайце магчымасць кэшавання і палітыку пераўтварэння ўзгодненымі і выконвайце прыдатныя дырэктывы no-transform.
Нарэшце, звычайны тунель HTTPS CONNECT пераносіць зашыфраваныя байты. Ён не паказвае HTML адаптару адказу. Наўмысна кіраваная схема інспекцыі TLS патрабуе ўласнай сумяшчальнай наладкі і даверу кліента, перш чым расшыфраваныя адказы змогуць патрапіць на гэты шлях. Адно правіла ICAP не дадае такой бачнасці.