关于代理服务器行为的问题

时间:2011-07-12 14:04:39

标签: sockets networking proxy

我遇到一个问题,我有一个现有的客户端服务器(基于套接字)应用程序,客户端发出请求,当请求完成时,服务器会将通知发送回客户端。

现在,如果服务器位于主机A上,则客户端只能直接连接到服务器。有些用户希望能够在不同的主机上托管服务器,而出于安全配置原因,客户端无法直接连接到该主机。 / p>

我的问题是:代理服务器会解决这个问题吗?例如,客户端连接到他们认为是服务器的东西,但实际上是代理服务器。但是发送到真实服务器的源IP会发生什么?它仍然是客户端的IP吗?如果是这样,那么我使用代理服务器的狡猾计划将起作用。但如果不是一切都会失败(我猜)?

基本上,简单来说问题是代理服务器是否会以某种方式摆弄:数据包的IP部分,以便收件人将任何响应/消息发送回实际客户端?或者它以其他方式工作?

我的想法是代理会记录每个客户端和请求。例如ip:1.1.1.1想要GET google.com然后当google.com代理回复时说它必须是1.1.1.1并转发到那里。但我不确定这是如何工作的。只是寻找一个高级别的设计,它是如何工作的。

有人可以为我澄清吗?

安格斯

2 个答案:

答案 0 :(得分:0)

我建议您仔细阅读TCP/IP的工作方式以及各种类型的proxies,但总结如下:

  • 转发到服务器时,客户端的实际IP地址通常不会由代理保留,
  • 由于NAT的扩散,基于IP的客户跟踪方案或多或少无用。

答案 1 :(得分:0)

如果这是TCP,则响应通常会在请求进入的同一连接中发回。无需源IP地址。服务器响应代理,代理响应客户端。