我在 Proxmox 中安装了 5 个 LXC 容器。每个容器内都有一个 Apache2 网络服务器正在运行,指向一个注册域。
因此:
container1 指向示例1.com本地 IP 地址为192.168.2.225
container2 指向example2.com本地 IP 地址为192.168.2.230
container3 指向example3.com本地 IP 地址为192.168.2.235
等等。
我想将 5 个不同域的请求转发到相应的容器。所有容器都有静态 IP,并通过 vmbr0 桥接到物理网卡 (enp3s0)
所以我尝试用一个单独的容器来实现它,运行Squid 代理,本地 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
我的问题是:我该怎么做才能将每个域成功转发到其相应的容器?