He configurado Squid ssl_bump
para que pueda realizar conexiones HTTPS intermedias y almacenar en caché las respuestas, así:
http_port 3128 ssl-bump \
cert=/etc/squid/certs/squid-ca-cert-and-key.pem \
generate-host-certificates=on dynamic_cert_mem_cache_size=16MB
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
Me gustaría que Squid acepte la conexión del cliente e intente entregar la respuesta desde su caché.antesintentando conectarse al servidor ascendente.
Sin embargo, primero intenta conectarse al servidor y devuelve un error 503 si no se puede acceder al servidor (porque la red está fuera de línea, por ejemplo):
1635102093.658 13 172.17.0.1 NONE/200 0 CONNECT deb.nodesource.com:443 - HIER_NONE/- -
1635102093.673 0 172.17.0.1 NONE/503 4110 GET https://deb.nodesource.com/setup_12.x - HIER_NONE/- text/html
Cuando la red esté disponible y se pueda acceder al host ascendente, Squid estará feliz de servir desde su caché en memoria:
1635102172.772 101 172.17.0.1 NONE/200 0 CONNECT deb.nodesource.com:443 - HIER_DIRECT/18.2.197.72 -
1635102172.792 1 172.17.0.1 TCP_MEM_HIT/200 14319 GET https://deb.nodesource.com/setup_12.x - HIER_NONE/- text/plain
Respuesta1
El uso client-first
parece funcionar:
acl step1 at_step SslBump1
ssl_bump client-first step1
ssl_bump bump all
Sin embargo, esta es una opción obsoleta desde hace mucho tiempo y no funcionará para interponer todo tipo de conexión TLS.