Caché de ACL externas de Squid: por que non se chama o axudante cada vez
Deseñe axudantes de ACL externas de Squid arredor de procesos persistentes, claves de caché de decisións e un requisito explícito de frescura da autorización.
Un axudante que rexistra unha solicitude e logo cala pode ser normal. Squid pode avaliar unha regra cun resultado de ACL externa na caché sen enviar outra consulta ao axudante.
Primeiro defina a decisión reutilizable. «Pode esta conta usar o proxy?» require entradas distintas de «Pode esta conta acadar este destino?» O formato ampliado de ACL externa forma a clave de caché. Se o axudante decide por nome de usuario e destino pero a clave só inclúe o nome de usuario, unha aprobación na caché pode aplicarse máis amplamente do previsto. Inclúa cada entrada que cambie a resposta e evite detalles que só fragmentan decisións equivalentes.
Despois escolla a frescura. Os ttl e negative_ttl positivos rexen os resultados coincidentes e non coincidentes; grace pode iniciar unha actualización antes de que caduque unha entrada. Decida canto tempo a aprobación na caché dunha conta revogada pode afectar decisións posteriores. Ningunha destas configuracións reautoriza un túnel CONNECT establecido para cada byte ou solicitude HTTPS interna. Se o axudante aplica unha cota de tráfico, as transferencias admitidas poden continuar despois de que cambie o saldo.
O axudante é un participante persistente do protocolo, non necesariamente un novo proceso de script para cada solicitude. Mantéñao listo para liñas de consulta sucesivas e envía cada resposta de inmediato. Pon o diagnóstico noutra canle. Coa concorrencia activada, devolve o identificador de canle subministrado correspondente.
Por último, defina os resultados lento, non dispoñible e erro interno, e faga que a orde de ACL circundante os produza. O deseño está completo cando tanto a especificidade como a idade permitida dunha resposta reutilizable coinciden co requisito de acceso.