我想在服务器上打开任意 TCP 套接字,但它在代理后面,我只能使用仅用于 HTTP 托管的端口。简单地说,将这样的套接字包装到 HTTP 连接中的最透明的方法是什么?最好我会通过服务器中的 shell 脚本调用 *nix 程序,该脚本将负责翻译请求。
如果之前回答过这个问题,我深表歉意,但我正在努力寻找和理解任何东西。
我想在服务器上打开任意 TCP 套接字,但它在代理后面,我只能使用仅用于 HTTP 托管的端口。简单地说,将这样的套接字包装到 HTTP 连接中的最透明的方法是什么?最好我会通过服务器中的 shell 脚本调用 *nix 程序,该脚本将负责翻译请求。
如果之前回答过这个问题,我深表歉意,但我正在努力寻找和理解任何东西。
我最终选择了Chisel,它为服务器和客户端提供了一个二进制文件,具有身份验证和反向端口转发等功能。例如:
chisel server
将在 8080 或 8080 中运行 HTTP 服务器$PORT
,并且
chisel client server.com 4567:123
连接到server.com
远程端口 123 并将其映射到本地端口 4567。
其他解决方案仍然受欢迎,特别是如果它们涉及更高的透明度、经常预装的工具(如netcat
),并且它们还支持其他协议(如 UDP)。