SSH隧道通过本地主机工作,但不通过IP地址或DNS查找

在我的工作中,有两台计算机 – 一台使用公共IP地址,另一台计算机使用Apache服务器在端口80上运行基于浏览器的应用程序。具有公共IP地址的计算机的端口80接收DNS公用的stream量。 domain.edu。 计算机的端口80与Apache服务器不公开,但可以通过private.domain.edu在本地networking访问。

我想创build一个本地SSH通道,从公共计算机的端口80到实现了Apache服务器的计算机。 到目前为止,我已经使用公共IP地址的计算机尝试了此命令:

sudo ssh [email protected] -L 80:private.domain.edu:80 

当我运行这个特定命令时,我可以通过在public.domain.edu上运行浏览器并在地址栏中input“localhost”来访问private.domain.edu上的Web应用程序。 但是,当我在地址栏中inputpublic.domain.edu的IP地址时,它不会隧道到private.domain.edu的应用程序,而是说找不到URL。 此外,当我在地址栏上键入public.domain.edu的DNS查找时,它仍然不起作用。

如何修复SSH隧道,以便在地址栏上inputpublic.domain.edu(或其IP地址)时,访问private.domain.edu的Web应用程序?

试试sudo ssh [email protected] -g -L 80:private.domain.edu:80 。 正如手册页所述:

-g允许远程主机连接到本地转发的端口。

但是请注意,这可能不是完成你所要做的最好的方法。 如果你想从外部访问一个内部Web应用程序,但仅仅为了你自己,某种types的VPN将不太受滥用; 如果您想为所有人启用它,请与您的本地networkingpipe理员联系,并获取穿过防火墙的端口。