我想从虚拟networking内的计算机运行一个http服务器到外部世界。 我没有任何访问的网关,所以不能configuration。 我在想,我的networking之外可能有一台服务器可以作为我的服务器的代理。 我会从我的计算机到这个服务器代理进行出站连接,一旦这个连接使得对服务器代理的每个请求都会被引导到我的计算机的某个端口。
有什么提供这项服务吗? 有几次,我一直在这个坐
SSH有能力做你想做的事情。 从“虚拟”networking内部,您可以使用以下命令行创build到公用访问服务器的SSH隧道:
ssh -R ':8080:localhost:80' server.example.com
为此, server.example.com
显然需要运行sshd
。 此外,服务器的sshd_config
需要将GatewayPorts yes
设置GatewayPorts yes
,否则您创build的任何隧道都只会绑定到服务器的环回地址,远程客户端将无法访问该地址。 ( GatewayPorts
的默认设置为no
。)
在上面的例子中,连接到服务器上的TCP端口8080的尝试将被转发到localhost上的端口80。
您确实需要与networking和/或主机服务器pipe理员讨论此问题。 例如,如果你在公司环境中,如果你做了这样的事情,他们可能不会太高兴。
也就是说,你可能可以使用SSH隧道,但我不知道这将是多么实际的结果。