Web应用程序NAT穿越

3
我们正在使用Tomcat在全国各地的客户机上部署Java Web应用程序。一旦安装完成,我们希望通过中央服务器允许远程访问这些Web应用程序,但我们不希望客户端必须在其路由器上打开端口。 有没有一种方法可以通过隧道将HTTP流量传输,以便中央服务器可以访问防火墙后面的Web应用程序? 中央服务器具有静态IP地址,并且我们对其具有完全控制权。 我们不需要访问文件系统,我们只想通过浏览器访问Web应用程序本身。
2个回答

2
对于NAT,通常需要让Web应用程序向您的中央服务器发出请求,这将打开NAT中的一个“洞”。然后,您的中央服务器可以接管此连接并访问Web应用程序。
这基本上成为一种持久连接(因为现在没有办法按需“召唤”Web应用程序,它们必须始终与您连接)。也就是说,Web应用程序内置了逻辑,定期检查“我是否连接到主控端?没有?那么联系主控端”。这将解决NAT问题,因为它是客户端启动的。 SkypeBuildbot和其他应用程序使用此技术。

您将如何操作才能打开连接并将其路由回网络服务器的端口? - pbreault
我不太确定你在问什么。这里有一个基本的例子:让Web应用程序在端口80上向您的中央服务器发出请求,但设置连接为keep-alive。您可以在HTTP之上添加协议。服务器响应将说“好的,现在我拥有了这个连接”。然后,您可以在连接上执行任何需要的操作,而无需关闭它(或者如果需要立即在客户端重新建立连接)。关键是这个连接是客户端启动的。唯一的假设是Web应用程序当然可以从防火墙外发出请求。 - rlotun

0

是的 - 但问题非常通用。如果不知道您使用的操作系统/客户端,就无法建议哪种方法适用。

我建议在两端都使用POISX/BSD/Linux的情况下,在ssh或stunnel之上运行ppp。可以通过谷歌搜索许多示例。

C.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接