如何通过一台服务器向另一台服务器发送HTTP请求?

时间:2018-03-13 23:12:40

标签: java http networking

我正在研究一个项目并遇到了一个有趣的问题。我的网络上运行了许多不同的计算机,这些计算机没有我需要发出http请求的公共IP。我有一台服务器,我一直用作路由器,我可以通过WAN访问。通过java转发http请求以及处理响应的最佳方法是什么?感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:1)

正如其他人所说,这可能是偏离主题的,但为了保持简短,你需要一个代理。在这种情况下,反向代理(从“外部”到“内部”)。

您的终端计算机将不具有公共IP,而是私有IP,因此无法从Internet访问它们,因为私有IP不通过Internet路由。 因此,您需要一台具有公共IP的设备。 在此服务器上使用反向代理,haproxy,nginx或Java(如果存在)(或者如果您想要它)。

步骤很简单: _侦听端口80和外部接口上的连接 _ DNAT(目标NAT)这些连接并将它们发送到计算机 _您的代理将有一个会话表来跟踪这些连接。 _在您的工作站上,您将需要一个默认网关:这将是您的代理,因为工作站需要知道在何处发送数据包(随机公共IP)。 _当然,我们假设工作站和代理服务器位于同一网络子网中。如果不是,您将需要另一台路由器来路由LAN区域中的流量。

希望得到这个帮助。