Используйте squid для пересылки http(s)-запросов на основе доменного имени

Используйте squid для пересылки http(s)-запросов на основе доменного имени

Я установил 5 контейнеров LXC в Proxmox. В каждом контейнере запущен и работает веб-сервер Apache2, указывающий на зарегистрированный домен.

Итак:
container1 указывает наexample1.comи имеет локальный IP-адрес192.168.2.225
контейнер2 указывает наexample2.comи имеет локальный IP-адрес192.168.2.230
контейнер3 указывает наexample3.comи имеет локальный IP-адрес192.168.2.235
и так далее.

Я хотел бы пересылать запросы для 5 разных доменов в соответствующий контейнер. Все контейнеры имеют статические IP и соединены мостом на vmbr0 с физическим NIC (enp3s0)

Поэтому я попытался добиться этого с помощью отдельного контейнера, запустивПрокси-сервер Squid,с локальным IP-адресом192.168.2.253и порт3128, который является портом прослушивания Squid по умолчанию.

Сначала я настроил iptables на хосте Proxmox со следующими правилами:

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

После этого я попробовал настроить 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

При переходе на example1.com я получаю уведомление от Squid с сообщением:

The requested URL could not be retrieved

У меня вопрос: что я могу сделать, чтобы успешно перенаправить каждый домен в соответствующий ему контейнер?

Связанный контент