Squid를 사용하여 도메인 이름을 기반으로 http(s) 요청 전달

Squid를 사용하여 도메인 이름을 기반으로 http(s) 요청 전달

Proxmox에 5개의 LXC 컨테이너를 설치했습니다. 각 컨테이너에는 등록된 도메인을 가리키는 Apache2 웹 서버가 내부에서 실행되고 있습니다.

그래서:
컨테이너1은 다음을 가리킨다.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)에 브리지됩니다.

그래서 나는 별도의 컨테이너로 그것을 달성하려고 노력했습니다.오징어 프록시,로컬 IP 주소는 다음과 같습니다.192.168.2.253그리고 항구3128, Squid의 기본 수신 대기 포트입니다.

먼저 Proxmox 호스트에 다음 규칙에 따라 iptables를 설정했습니다.

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

내 질문은: 각 도메인을 해당 컨테이너에 성공적으로 전달하려면 어떻게 해야 합니까?

관련 정보