来自代理列表的 IP 和端口通常标识你的应用要连接的地方。它们不是留给别人访问你电脑的公共端口。

如果你想接收入站连接,这个区别很重要。出站代理请求实际上是在说:请替我连接这个目的地。公共监听器要求中间方接受别人的连接,并把它与你的服务关联起来。

寻找真正的入站功能

HTTP CONNECT 会朝请求中指定的目的地建立隧道。它并不要求代理替你发布任意监听端口。

SOCKS5 定义了单独的 BIND 命令。协议的 BIND 交换会提供一个已绑定的端点,并在之后报告入站连接。这不是 Web 客户端使用的普通 CONNECT 命令。宣称支持 SOCKS5 的服务可能限制或省略该命令;客户端软件也必须支持预期的交换。

即使 BIND 协商成功,也不等于承诺有一个永久的、通用的已发布端口。服务的策略、预期的对端、生命周期以及周边网络路径仍然重要。

HTTP 代理不是 SSH 服务器

SSH 远程转发是运维者明确提供入站访问的另一种方式。它需要 SSH 服务、账户和转发权限。把 SSH 命令指向公共 HTTP 代理端口并不能创造这些能力。

在选择服务之前,先明确你需要的方向:通过另一个出口发出请求,还是让别人连接到你运行的应用。如果是后者,请在你掌控的安排中寻找有文档记录的入站转发功能。代理列表里普通的一行并不能证明该功能存在。

相关文章