Pag-cache ng external ACL ng Squid: bakit hindi tinatawag ang helper tuwing beses
Idisenyo ang mga external ACL helper ng Squid sa paligid ng mga persistenteng proseso, cache key ng desisyon at malinaw na pangangailangan sa pagiging sariwa ng awtorisasyon.
Ang helper na nag-log ng isang kahilingan at pagkatapos ay tahimik ay maaaring normal. Maaaring suriin ng Squid ang isang panuntunan gamit ang naka-cache na resulta ng external ACL nang hindi nagpapadala ng isa pang query sa helper.
Unang tukuyin ang magagamit muli na desisyon. Ang “Puwede bang gamitin ng account na ito ang proxy?” ay nangangailangan ng ibang input kaysa “Puwede bang maabot ng account na ito ang destinasyong ito?” Ang pinalawak na format ng external ACL ang bumubuo sa cache key. Kung ang helper ay nagpapasya sa username at destinasyon ngunit ang key ay naglalaman lamang ng username, ang naka-cache na pag-apruba ay maaaring magamit nang mas malawak kaysa nilayon. Isama ang bawat input na nagbabago ng sagot at iwasan ang mga detalyeng nagwawasak lamang ng katumbas na desisyon.
Pagkatapos piliin ang pagiging sariwa. Ang positibong ttl at negative_ttl ay namamahala sa tugma at hindi tugmang resulta; ang grace ay maaaring magsimula ng refresh bago mag-expire ang isang entry. Magpasya kung gaano katagal makakaapekto ang naka-cache na pag-apruba ng revoked na account sa mga susunod na desisyon. Wala sa mga setting na ito ang muling nagbibigay-awtorisasyon sa isang itinatag na CONNECT tunnel para sa bawat byte o panloob na kahilingang HTTPS. Kung ang helper ay nagpapatupad ng quota sa trapiko, maaaring magpatuloy ang mga pinapayagang transfer pagkatapos magbago ang balanse.
Ang helper ay isang persistenteng kalahok sa protocol, hindi kinakailangang bagong script process para sa bawat kahilingan. Panatilihin itong handa para sa magkakasunod na linya ng query at ipadala ang bawat sagot nang mabilis. Ilagay ang diagnostics sa ibang channel. Kapag naka-enable ang concurrency, ibalik ang kaukulang ibinigay na channel identifier.
Sa wakas, tukuyin ang mabagal, hindi available at panloob na error na resulta, at gawing ang nakapaligid na ACL order ang gumawa ng mga ito. Kumpleto ang disenyo kapag ang pagiging tiyak at ang pinapayagang edad ng magagamit muli na sagot ay tumutugma sa pangangailangan sa pag-access.