You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Proxmox的独立服务器多VPS网站流量路由方案咨询

Proxmox多VPS共用公网IP的流量路由方案

核心逻辑

所有VPS共用同一公网IP时,本质是要将公网流入的流量,按域名/端口维度转发到对应的内部VPS,核心依赖反向代理或端口转发机制。


方案一:Proxmox宿主机直接做流量转发(无需额外VPS)

Proxmox基于Debian系统,可直接在宿主机上完成配置,适合中小型业务场景。

域名反向代理(推荐用于HTTP/HTTPS网站)

  1. 确保所有业务VPS处于Proxmox内部网段(如192.168.100.0/24),且宿主机与VPS网络互通。

  2. 宿主机安装Nginx:

    apt update && apt install nginx -y
    
  3. 编辑Nginx虚拟主机配置(路径/etc/nginx/sites-available/proxy.conf),按域名规则转发流量:

    # 转发vps.com到VPS1(内部IP:192.168.100.10)
    server {
        listen 80;
        server_name vps.com;
    
        location / {
            proxy_pass http://192.168.100.10;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    
    # 转发子域名到VPS2(内部IP:192.168.100.11)
    server {
        listen 80;
        server_name app.vps.com;
    
        location / {
            proxy_pass http://192.168.100.11;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    
  4. 启用配置并重启Nginx:

    ln -s /etc/nginx/sites-available/proxy.conf /etc/nginx/sites-enabled/
    nginx -t && systemctl restart nginx
    
  5. DNS配置:将所有需要转发的域名/子域名,均指向服务器的公网IP。

    若需HTTPS服务,可在宿主机用Let's Encrypt生成证书,给对应server块添加443端口监听规则即可。

端口转发(用于非HTTP服务,如SSH、FTP)

通过iptables实现端口映射,例如把宿主机的2201端口转发到VPS1的22端口,2202转发到VPS2的22端口:

# 配置DNAT规则,将公网端口流量导向内部VPS
iptables -t nat -A PREROUTING -p tcp --dport 2201 -j DNAT --to-destination 192.168.100.10:22
iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.100.11:22

# 配置SNAT规则,确保内部VPS的返回流量能正确回到公网
iptables -t nat -A POSTROUTING -p tcp -d 192.168.100.10 --dport 22 -j SNAT --to-source 宿主机内部IP
iptables -t nat -A POSTROUTING -p tcp -d 192.168.100.11 --dport 22 -j SNAT --to-source 宿主机内部IP

# 保存规则,防止服务器重启后丢失
iptables-save > /etc/iptables/rules.v4

方案二:专用VPS作为流量网关(适合复杂场景)

当VPS数量多、服务类型繁杂,或需要额外流量管控(如负载均衡、WAF)时,可创建专用网关VPS:

  1. 给网关VPS分配内部IP,确保它能与所有业务VPS网络互通。
  2. 在Proxmox宿主机上,将公网的80、443等核心端口流量,转发到网关VPS的对应端口。
  3. 在网关VPS上部署Nginx/HAProxy,按域名或端口规则把流量分发到各个业务VPS。

这种方案的优势是隔离宿主机与业务流量,便于后续扩容和添加流量管控功能。


最优方案选择

  • 若仅部署少量HTTP/HTTPS网站:宿主机直接做Nginx反向代理,无需额外资源,配置成本低。
  • 若业务规模大、服务复杂:专用网关VPS架构更清晰,扩展性更强,便于统一管理流量。

场景示例

针对你提到的需求:

  1. vps.com指向VPS1:按方案一的反向代理配置,将对应server块的proxy_pass指向VPS1的内部IP,同时将vps.com的DNS解析指向公网IP即可。
  2. 若需将vps.com切换指向VPS2:直接修改Nginx配置中的proxy_pass地址为VPS2的内部IP,重启Nginx即可生效,无需改动DNS解析。

内容的提问来源于stack exchange,提问作者mahdi danash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:25:03