使用 Nginx 通过 SSH 服务 HTTP?

Serve HTTP through SSH with Nginx?

我们有一台服务器卡在办公室网络内,我们想从办公室外访问它。

我已经在它上面设置了一个 ssh 隧道,连接到我们在一家云计算公司的 public 服务器之一。然后我可以通过 public 服务器通过 ssh 访问我们的内部服务器。

但是这个内部服务器主要提供网络服务。我们希望能够通过 public 服务器和这两者之间的隧道 ssh 访问那里的网络服务。

有没有办法用 nginx 做到这一点?或任何其他软件。

桑尼

您应该使用 proxy_pass 指令,例如:

location /{
    proxy_pass http://<the private server ip>:<the private server http port>/;
}

然后它将每个请求重定向到您的私人服务器

我实际上已经找到了解决方案。

proxy_pass 仅适用于我当时没有的直接 http/https 流。

但其实我现在有了。我使用的 ssh 隧道基本上是一个 TCP 端口重定向。所以我在我们内部服务器上的 Apache 端口上设置了第二个隧道管道,ssh 魔法现在允许我通过我的云服务器访问这个内部服务器 web 服务!谢谢 SSH。

我也使用这个工具:http://www.harding.motd.ca/autossh/,以防止我的隧道倒塌。