Use o squid para encaminhar solicitações http(s) com base no nome de domínio

Use o squid para encaminhar solicitações http(s) com base no nome de domínio

Instalei 5 contêineres LXC no Proxmox. Cada contêiner possui um servidor web Apache2 instalado e funcionando, apontando para um domínio registrado.

Então:
container1 aponta paraexemplo1.come tem um endereço IP local de192.168.2.225
container2 aponta paraexemplo2.come tem um endereço IP local de192.168.2.230
container3 aponta paraexemplo3.come tem um endereço IP local de192.168.2.235
e assim por diante.

Gostaria de encaminhar solicitações de 5 domínios diferentes para o contêiner correspondente. Todos os contêineres possuem IPs estáticos e são interligados em vmbr0 para a NIC física (enp3s0)

Então tentei fazer isso com um contêiner separado, executandoProxy Squid,com um endereço IP local de192.168.2.253e porto3128, que é a porta de escuta padrão do Squid.

Primeiro configurei o iptables no host Proxmox com as seguintes regras:

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 22 -j DNAT --to 192.168.2.253:3128
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.2.253:3128
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.2.253:3128
iptables --t nat -A POSTROUTING --out-interface vmbr0 -j MASQUERADE

Depois disso tentei configurar o Squid:

http_port 3128
http_access allow all
http_port 3128 intercept
visible_hostname squid.proxy


acl 100 dstdomain .example1.com
acl 101 dstdomain .example2.com
acl 102 dstdomain .example3.com

cache_peer 192.168.2.225 parent 80 0 no-query
cache_peer 192.168.2.230 parent 80 0 no-query
cache_peer 192.168.2.235 parent 80 0 no-query

Ao navegar para example1.com, sou notificado pelo Squid com a mensagem:

The requested URL could not be retrieved

Minha pergunta é: o que posso fazer para encaminhar cada domínio com êxito para o contêiner correspondente?

informação relacionada