我公司有一台服务器,它位于防火墙后面(公司的防火墙),因此只能通过端口 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
答案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 端口。务必说明需要开放该端口的业务案例。