如何浏览仅可通过 SSH 端口访问的 Web 服务器

如何浏览仅可通过 SSH 端口访问的 Web 服务器

我公司有一台服务器,它位于防火墙后面(公司的防火墙),因此只能通过端口 22(SSH)访问。我可以使用 Putty 毫无问题地连接到服务器。
此外,该服务器运行着 Apache,并像往常一样监听端口 80。
但我无法使用浏览器连接到网站,因为端口 80(以及所有其他端口)被公司的防火墙阻止了。

有什么办法可以让我的浏览器连接到该服务器上的 Apache,以便我可以浏览我正在处理的网站?

谢谢。


编辑:

由于我使用普通的 SSH 隧道技术没有成功,我认为这个问题与所有试图穿过防火墙的问题不同(因此我在这里提问)。
但我错了,这是完全相同的情况,普通的 ssh 隧道可以解决问题。

但是,这个问题有点不同(也是我失败的原因),因为远程服务器也位于 NAT 后面,所以服务器的真实 IP 是私有 IP,而不是我用来启动 SSH 会话的公共 IP。
我意识到我在浏览器的地址栏中输入了服务器的私有 IP,然后就成功了!它运行得非常好。

答案1

从您的编辑来看,我猜您试图将隧道用作浏览器中的 socks 代理。
请考虑将隧道用作一对一连接,即让您的 PC 充当远程服务器的代理:

在 Windows 上像这样使用 putty
putty.exe -L 80:localhost:80 userName@serverIp

然后在浏览器中导航至http://本地主机
这样,您就可以有效地将您的 PC 变成一个监听端口 80 的代理 Web 服务器。
无需进行任何 socks 代理配置。

答案2

我认为您正在寻找“ssh隧道”。

我只是……呃……在谷歌上搜索了一下,感觉本文在数百人之中。

您不妨看看此页面右侧的“相关”问题。

答案3

ssh 隧道将起作用。通过以下方式连接

ssh USER@host -L 8080:127.0.0.1:80

现在在您的计算机上浏览 127.0.0.1:8080。

  • 端口8080可以自由选择。
  • ssh 连接中的 127.0.0.1 是您的 Web 服务器的环回地址。

答案4

向您的网络团队提出请求,要求从您的计算机向该服务器开放 80 端口。务必说明需要开放该端口的业务案例。

相关内容