【发布时间】:2016-11-01 01:30:41
【问题描述】:
我们有一台服务器卡在我们的办公室网络中,我们想从办公室外部访问它。
我已经在它上面设置了一个 ssh 隧道,连接到我们在一家云计算公司的公共服务器之一。然后我可以通过公共服务器通过 ssh 访问我们的内部服务器。
但是这个内部服务器主要服务于网络服务。然后我们希望能够通过公共服务器和两者之间的隧道 ssh 访问那里的 web 服务。
有没有办法用 nginx 做到这一点?或任何其他软件。
桑尼
【问题讨论】:
我们有一台服务器卡在我们的办公室网络中,我们想从办公室外部访问它。
我已经在它上面设置了一个 ssh 隧道,连接到我们在一家云计算公司的公共服务器之一。然后我可以通过公共服务器通过 ssh 访问我们的内部服务器。
但是这个内部服务器主要服务于网络服务。然后我们希望能够通过公共服务器和两者之间的隧道 ssh 访问那里的 web 服务。
有没有办法用 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/,以防止我的隧道倒塌。
【讨论】: