我过去曾创建过SSH隧道,但我在OSX上遇到了麻烦。我想要一个网站的端口80,并将其指向我的localhost:8080。当我运行此命令时
ssh -L 8080:<cloud_ip_address>:80 root@<cloud_ip_address> -N
我得到默认的apache'它有效!'页。
为什么我没有获得远程计算机的端口80(运行Web应用程序)?
更新 我还没有解决方案,但我有更多的信息。我得到的页面是/ var / www / html中的默认页面,但我正在为没有静态页面的Flask应用程序提供服务。
答案 0 :(得分:3)
由于HTTP
协议不仅包含IP地址,还包含主机名(您在浏览器中输入的网址),这在<cloud_hostname>
和localhost
之间有所不同。欺骗它的最简单方法是创建/etc/hosts
(将有一些OSX替代 - 搜索...)条目将远程机器的主机名重定向到localhost。
127.0.0.1 <cloud_hostname>
但请注意,在这种情况下,您将无法使用主机名访问远程计算机!