一 、背景
场景一:作为一个老年程序员,下班心里还是惦记着工作,可是回到家发现公司数据库IP是**192.168.0.100,**连不上啊,这可怎么办。
场景二:现场实施找,说现场XXXX不行,是什么原因?我怎么知道,日志也不给个,于是远程过去重现看看,发现调试各种不顺手。想在本地调试,发现现场的服务是在内部网络里面,连不上啊,这可怎么办。
上面两个场景,都是由于两边网络不通,导致的开发效率底下,正所谓路通财通,开发也一样,网络不通调试个东西跟开车在煤渣路一样,开发人员应该把时间放在具体的代码实现上,而不是把时间花在这种低效率工作上面。
本教程就是为了解决这种情况而提出来的解决方案。当然如果你们公司有一套异地组网的方案,这篇文章你可以直接跳过了。
二 、方案思路
想要在外网直接跟内部网络的所有机器通信,一般来说需要一个代理服务器。
这个实现方案,类似于在大陆访问谷歌,大陆的是互联网,谷歌的服务器集群就是“内部网络”,我们不能直接跟它们通信。 那怎么办, 这时候我们就需要一个能够访问谷歌的服务器给我们做代理, 我们的请求全部发到代理服务器上面,再由代理服务器转发到谷歌,谷歌响应后,再返回给代理服务器,代理服务器再回到我们这里来。
所以,我们的问题就被简化了, 我们只需要能够保证和代理服务器之间的连接即可。
如图所示