Squid como proxy de reserva para HTTPS

Squid como proxy de reserva para HTTPS

Em uma máquina Debian, o Squid e o Apache estão em execução. HTTPs é habilitado com Certbot (Lets Encrypt).

Tenho vários domínios (Vhosts) e estou usando um endereço IP para todos os domínios.

Apache está escutando nas portas 81 (HTTP) e 444 (HTTPS)

Meu squid.conf fica assim:

# Incoming Connections
http_port 80 accel
cache_peer localhost parent 81 0 no-query originserver
https_port 443 acceldefaultsite=yourwebserver vhost
cache_peer localhost parent 444 0 no-query originserver

# ACL
http_access allow all

# Allowed Ports
acl SSL_ports port 443          # https
acl Safe_ports port 80          # http
acl CONNECT method CONNECT

Meu problema: o Squid pede certificados para habilitar HTTPS quando eu inicio o serviço com a configuração acima.

Mas para cada domínio eu uso certificados diferentes. Como posso forçar o Squid apenas a redirecionar 443 para 444 localhost?

Responder1

Squid pede certificados para habilitar HTTPS

Essa é a ideia do HTTPS. Você irádefinitivamenteprecisam de certificados para fornecer conteúdo protegido por certificado. Caso contrário, você não teria um proxy http e usaria NAT ou um proxy TCP (como nginx com provedores UPSTREAM).

Mas para cada domínio eu uso certificados diferentes.

Essa é a ideia do SSL (TLS) e a razão pela qual você pode (leia-se: você precisa) configurar diferentes ouvintes com propriedades diferentes. Ou você usa apenas encaminhamento TCP sem terminação (leia-se: descarregamento) SSL.

No squid3vhost a configuração é feita assim:

https_port serverone.com:443 cert=/etc/ssl/serverone.pem vhost
https_port servertwo.com:443 cert=/etc/ssl/servertwo.pem vhost

cache_peer lanserverone parent 80 0 name=lanserverone no-query originserver
cache_peer_domain lanserverone serverone.com

cache_peer lanservertwo parent 80 0 name=lanservertwono-query originserver
cache_peer_domain lanservertwo servertwo.com

Como posso forçar o Squid apenas a redirecionar 443 para 444 localhost

Resposta compartilhada: Você não pode. Experimente o nginx com upstream ou faça apenas NAT no(s) seu(s) roteador(es).

informação relacionada