从虚拟机测试盒应用程序
Box要求您为本地主机以外的任何URL使用HTTPS。 不幸的是,我是在Windows机器上运行的Linux虚拟机上开发的,我想从Windows中的浏览器访问在Linux上运行的服务器。 因此,我不能使用本地主机。
有没有一种方法可以测试我的盒子应用程序,而无需在我的Linux机器上创建证书?
是。 您可以使用SSH隧道。
在Linux机器上建立一个SSH服务器(如果可以从互联网访问,请确保它安全)
使用Windows SSH客户端(如plink或cygwin的SSH客户端)来创建到Linux框的所需端口(80?)的隧道。 例如,如果您使用plink:
C:>plink.exe -L 1234:127.0.0.1:80 <username>@<Linux machine IP>
使用cygwin,命令将是相同的:
$ ssh -L 1234:127.0.01:80 <username>@<Linux machine IP>
这将在Windows机器的本地端口1234(127.0.0.1:1234)和Linux机器端口80(127.0.0.1:80)之间建立隧道。 因此,如果您在Windows计算机上打开浏览器并将其指向127.0.0.1:1234,那么您将确实连接到Linux机器的127.0.0.1:80。
在SSH隧道上有一些很好的教程,但要确保你正在阅读正确的隧道类型。 他们有三种形式 - 本地( -L
),远程( -R
)和动态( -D
)。 你需要本地的。
要调试隧道,可以使用nc
。 使用类似nc -l 127.0.0.1 80
命令让nc
在127.0.0.1:80上侦听,然后尝试使用Windows浏览器中的隧道。 您应该在nc
看到HTTP请求。