HTTP隧道

编辑
本词条由“匿名用户” 建档。
HTTP 加密用于在网络连接受限(包括防火墙、NAT 和 ACL 以及其他限制)的条件下在两台计算机之间创建网络链接。 隧道由称为代理服务器的中介创建,通常位于 DMZ 中。 隧道还可以允许使用受限网络通常不支持的协议进行通信。 最常见的 HTTP 传输形式是标准化的 HTTP CONNECT 方法。 在这种机制中,客户端请求 HTTP 代理服务器将 TCP 连接转发到所需的目的地...

HTTP隧道

编辑

HTTP 加密用于在网络连接受限(包括防火墙、NAT 和 ACL 以及其他限制)的条件下在两台计算机之间创建网络链接。 隧道由称为代理服务器的中介创建,通常位于 DMZ 中。

隧道还可以允许使用受限网络通常不支持的协议进行通信

HTTP 连接方法

编辑

最常见的 HTTP 传输形式是标准化的 HTTP CONNECT 方法。 在这种机制中,客户端请求 HTTP 代理服务器将 TCP 连接转发到所需的目的地。 然后服务器继续代表客户端建立连接。 服务器建立连接后,代理服务器将继续代理 TCP 流与客户端之间的往来。 只有初始连接请求是 HTTP - 之后,服务器只是代理已建立的 TCP 连接。

这种机制是 HTTP 代理后面的客户端如何使用 SSL 或 TLS(即 HTTPS)访问网站。 代理服务器还可以通过仅允许连接到默认 HTTPS 端口 443、将主机列入白名单或阻止似乎不是 SSL 的流量来限制连接。

谈判示例

客户端连接到代理服务器并通过指定要连接的端口和主机来请求隧道。 该端口用于指示所请求的协议。

如果允许连接并且代理已连接到指定的主机,则代理将返回 2XX 成功响应。

HTTP/1.1 200 正常

客户端现在被代理到远程主机。 发送到代理服务器的任何数据现在都未经修改地转发到远程主机,客户端可以使用远程主机接受的任何协议进行通信。在下面的示例中,客户端正在启动 SSH 通信,如端口号所示 在最初的 CONNECT 请求中。

不使用 CONNECT 的 HTTP 屏蔽

编辑

还可以仅使用常用的 HTTP 方法(如 POST、GET、PUT 和 DELETE)来实现 HTTP 隧道。 这类似于同步 HTTP 双向流 (BOSH) 中使用的方法。

HTTP隧道

在这个概念验证程序中,一个特殊的 HTTP 服务器在受保护网络之外运行,而客户端程序在受保护网络内部的计算机上运行。 每当从客户端传递任何网络流量时,客户端都会将流量数据重新打包为 HTTP 请求,并将数据中继到外部服务器,该服务器为客户端提取并执行原始网络请求。 发送到服务器的对请求的响应随后被重新打包为 HTTP 响应并中继回客户端。 由于所有流量都封装在正常的 GET 和 POST 请求和响应中,因此这种方法可以通过大多数代理和防火墙。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/198065/

(3)
词条目录
  1. HTTP隧道
  2. HTTP 连接方法
  3. 谈判示例
  4. 不使用 CONNECT 的 HTTP 屏蔽

轻触这里

关闭目录

目录