我先说明问题...
我有一个可公开访问的内部网络服务器/网络应用程序。因此,我们的 Internet 连接(Bonded ADSL MAX Premium)是一个单点故障(最近的一些连接问题突出了这一点)。
作为一种低成本的备份,我正在考虑添加第二个 Internet 连接(标准 ADSL),并使用它自己的静态 IP。
现在我想知道是否有人尝试过或会对以下想法发表评论......
如果我有一个外部托管的服务器并运行像 HAProxy 这样的代理服务器,我可以将这个代理请求发送到我们的主 IP(通过我们的主连接)。如果主要连接发生故障,则将其故障转移到第二个连接。
您提出的建议当然是可行的,我在(网络托管公司)工作的地方已经为客户做了这件事,效果很好。最好使用缓存反向代理,如 Varnish 或 Squid(在反向代理模式下),这样您就可以利用数据中心连接机器的更好带宽和延迟。
为什么要让外部服务器代理您的 http 请求?为什么不直接使用 dns 将主机名切换到其他连接的 ip 地址呢?
如果您需要一个单一的静态 IP 地址,是否有任何方法可以让您的 isp 将 IP 地址路由到另一个连接,以防第一个连接出现故障?
这听起来很合理,但对于第二次连接的成本,我也会比较在其他地方远程托管应用程序的成本。
你没有提到你有什么样的周界。我对防火墙的经验是,你可以让你的主线进入你的防火墙,在你的 ISP 外围路由器上设置某种心跳(如果你问的话,大多数都会允许),当心跳失败时,你有一条备用 DSL 线路或它将故障转移到的便宜的东西。
过去我们会使用 ISDN 备份,但现在您可能还会看到Draytek 2800VG(Vigor 2800 ADSL2+ 路由器防火墙、带打印机端口和可选 802.11-SuperG 无线 LAN 的 VPN 设备)之类的东西。背面的 USB 端口可与 USB 3G 加密狗一起使用,作为故障转移自动连接。
这样,如果笨拙的工作人员用反铲挖掘电话线,你仍然有网络。