Tengo una red sin acceso directo a Internet donde tengoCalamar 3.5.9como unproxy transparenteescuchando tcp/8080
HTTP y tcp/8443
HTTPS (redireccionado iptables
desde tcp/80 y tcp/443 respectivamente).
Este Calamar tampoco tiene acceso directo a Internet, pero puede hablar con un Calamar padre en otra parte de la red que sí tiene acceso a Internet.
Con HTTP funciona bien: el cliente realiza una solicitud ahttp://www.ejemplo.com(puerto 80), el enrutador y iptables redirigen la conexión al puerto 8080 de Squid, que intercepta la solicitud y realiza una solicitud al proxy ascendente que la atiende como de costumbre. Estas son las opciones de configuración utilizadas:
http_port 8080 intercept
cache_peer proxy-upstream parent 3128 0 no-query
never_direct allow all
Eso funciona bien. Ahora quería hacer algo similar para HTTPS:
https_port 8443 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/myCA.pem
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump bump all
Sin cache_peer
él, funciona como se esperaba, es decir, genera automáticamente un certificado SSL falso y establece una conexión directa con el objetivo.
Sin embargo, cache_peer
no funciona. Recibo un error HTTP/503 del proxy:
1446684476.877 0 proxy-client TAG_NONE/200 0 CONNECT 198.51.100.10:443 - HIER_NONE/- -
1446684476.970 3 proxy-client TCP_MISS/503 4309 GET https://secure.example.com/ - FIRSTUP_PARENT/proxy-upstream text/html
Alternativamente, si cambio la ssl_bump
configuración a esto:
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all
Recibo un mensaje de error en cache.log:
2015/11/05 01:07:11 kid1| assertion failed: PeerConnector.cc:116: "peer->use_ssl"
Cuando uso este proxy en modo no transparente, es decir, configuro el proxy en el cliente para proxy-test:3128, funciona:
1446684724.879 141 proxy-client TCP_TUNNEL/200 1886 CONNECT secure.example.com:443 - FIRSTUP_PARENT/proxy--upstream -
Entonces necesito de alguna manera cambiar la HTTPS
solicitud que llega aprueba de proxyen CONNECT
la solicitud que se reenvía aproxy-ascendente. Si Squid no puede hacer eso, ¿existe algún otro software proxy de transparente a no transparente que pueda hacerlo?
¡Gracias!