从虚拟机测试盒应用程序

时间:2016-10-03 22:18:31

标签: oauth network-programming virtual-machine box

Box要求您对localhost以外的任何URL使用HTTPS。不幸的是,我是在Windows机器上运行的Linux虚拟机上开发的,我想从Windows中的浏览器访问Linux上运行的服务器。因此,我不能使用localhost。

有没有办法测试我的盒子应用程序而无需在我的Linux机器上创建证书?

1 个答案:

答案 0 :(得分:1)

是。您可以使用SSH隧道。

  1. 在Linux计算机上设置SSH服务器(如果可以从Internet访问,请确保保护它)

  2. 使用Windows SSH客户端(如plink或cygwin的SSH客户端)创建到Linux框所需端口(80?)的隧道。例如,如果您使用的是plink:

  3. 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隧道的一些很好的教程,但请确保您正在阅读正确类型的隧道。它们有3种形式 - 本地(-L),远程(-R)和动态(-D)。你需要当地人。

    要调试隧道,您可以使用nc。使用nc -l 127.0.0.1 80之类的内容让nc收听127.0.0.1:80,然后尝试使用Windows浏览器中的隧道。您应该在nc

    中看到HTTP请求