Box要求您对localhost以外的任何URL使用HTTPS。不幸的是,我是在Windows机器上运行的Linux虚拟机上开发的,我想从Windows中的浏览器访问Linux上运行的服务器。因此,我不能使用localhost。
有没有办法测试我的盒子应用程序而无需在我的Linux机器上创建证书?
答案 0 :(得分:1)
是。您可以使用SSH隧道。
在Linux计算机上设置SSH服务器(如果可以从Internet访问,请确保保护它)
使用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隧道的一些很好的教程,但请确保您正在阅读正确类型的隧道。它们有3种形式 - 本地(-L
),远程(-R
)和动态(-D
)。你需要当地人。
要调试隧道,您可以使用nc
。使用nc -l 127.0.0.1 80
之类的内容让nc
收听127.0.0.1:80,然后尝试使用Windows浏览器中的隧道。您应该在nc
。