如何在一个静态 IP 上的多服务器上运行多个 Web 服务器

如何在一个静态 IP 上的多服务器上运行多个 Web 服务器

我有一个静态 IP,例如 1233.22.33.44,并且我有两台具有 IP 的服务器:服务器 1:192.168.1.1 服务器 2:192.168.1.2

服务器 1 在端口默认 80 上运行网站,我可以通过以下方式访问服务器 1 上的网站http://1233.22.33.44,我想在服务器 2 上设置运行的 Web 服务器,我该怎么做?谢谢回复!

附言:抱歉我的英语不好。

答案1

您有多种解决方案:负载平衡(例如 keepalived)或反向代理(例如 apache 或 nginx)。

以下是 nginx 作为反向代理的示例配置:

upstream backend {
        ip_hash;
        server 192.168.1.1;
        server 192.168.1.2;

}

upstream sorry {
        server public_ip;
}


server {
        listen   80; ## listen for ipv4; this line is default and implied

        location / {
                error_page 502 504 = @fallback;
                proxy_pass http://backend;
                proxy_set_header Host $http_host;
                proxy_read_timeout 150;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location @fallback {
                proxy_pass http://sory;
        }
}

相关内容