我工作的地方有两台计算机 - 一台具有公用 IP 地址,另一台计算机的 Apache 服务器在端口 80 上运行基于浏览器的应用程序。具有公用 IP 地址的计算机的端口 80 接收 DNS public.domain.edu 的流量。具有 Apache 服务器的计算机的端口 80 不是公用的,但可以通过 private.domain.edu 在本地网络上访问。
我想创建一个从公用计算机的 80 端口到已实施 Apache 服务器的计算机的本地 SSH 隧道。到目前为止,我已从具有公用 IP 地址的计算机尝试了此命令:
sudo ssh [email protected] -L 80:private.domain.edu:80
当我运行此特定命令时,我可以通过运行 public.domain.edu 上的浏览器并在地址栏中输入“localhost”来访问 private.domain.edu 上的 Web 应用程序。但是,当我在地址栏中输入 public.domain.edu 的 IP 地址时,它不会隧道连接到 private.domain.edu 的应用程序,而是显示无法找到 URL。此外,当我在地址栏中输入 public.domain.edu 的 DNS 查找时,它仍然不起作用。
我该如何修复 SSH 隧道,以便当我在地址栏中输入 public.domain.edu(或其 IP 地址)时,可以访问 private.domain.edu 的 Web 应用程序?
答案1
尝试一下。正如手册页所述:sudo ssh [email protected] -g -L 80:private.domain.edu:80
-g 允许远程主机连接到本地转发端口。
但请注意,这可能不是完成您要做的事情的最佳方式。如果您想从外部启用对内部 Web 应用程序的访问,但仅供您自己使用,则某种 VPN 不太容易被滥用;如果您想为所有人启用它,请与当地网络管理员联系并通过防火墙打开端口。