我有一个情况,我试图托pipe我自己的networking服务器,因为我需要一些定制软件,包括电话,WebRTC,node.js等,但是,我的networking连接在城镇和国家,它将被托pipe,光纤线路不是很可靠(从物理angular度讲 – 容易出现割伤 – 很less发生,但已经发生了几次)。
为了解决这个问题,我想通过两个不同的物理媒体,当然还有两个不同的公共IP,可以通过两个ISP访问内部服务器。 域名注册商通常在DNS设置(Alogging)中只有一个IP作为容错机制,这将毫无用处。 即使我手动更改域的Alogging,当其中一个物理连接断开时,传播也是需要一些时间的,更不用说DNScaching等等了。所有这些都是基本的东西,我猜想。
为了解决所描述的问题,我可以在托pipe服务器上使用反向代理,其唯一目的是将给定会话的传入请求redirect到特定的IP地址,类似于负载平衡中使用的循环方式,虽然在技术上它是两个不同IP的同一台服务器。 DNS Alogging将指向托pipe服务器。 如果一个ISP的连接closures,托pipe服务器将自动转发到另一个IP。
我查看了常见的反向代理服务器(APache,Nginx,Squid),但无法从会话的angular度清楚地了解它如何pipe理redirect。 也就是说,同一个会话中的多个请求被redirect到同一个IP? 称为磅的反向代理服务器似乎提供这样的服务,但我也不清楚。
反向代理是否处理会话pipe理? 如果不是,它如何知道一个特定的请求必须被转发到一个会话中的同一个IP? 或者,这是否与TCP连接有关,而不是应用程序级会话? 请注意,在这种反向代理使用中,转发的IP与代理本身不在同一个本地networking中,而是完全不同ISP的远程服务器的公共IP地址。 也许这并不重要,因为在我的情况下,远程服务器是相同的,尽pipe具有不同IP地址的IP接口不同。 即使请求来自同一个会话中同一个服务器上的两个不同的IP(由于一个会话中途中断一个电缆而造成的),会话pipe理是否会自行处理?
在推进实施之前,我只需要澄清一下。 或者有更好的方法来解决这个问题吗?我想很多第三世界国家会面临这个问题,特别是如果他们想要在内部部署node.js和相关的新一代服务,而不是必须关心这里提出的问题。
在一个相关的主题上,iptables的目标NAT是否可以用作反向代理服务器。 这只是一个理论问题,因为我不能在托pipe的共享服务器上设置IPtables规则。