我有一个本地测试/开发服务器(当然是HTTP),监听端口8000。
我在Linux上工作,所以为了在Internet Explorer 6、7、8等上测试该页面,我使用VirtualBox运行一个虚拟机;我还需要看看Firefox在windows环境下的外观(例如字体不同)。
在我的真实机器中,我只需使用URL打开网站http://localhost:8000,如何从虚拟机寻址此本地主机?
现在我的解决方法是使用IP地址。有更好的主意吗?
我有一个本地测试/开发服务器(当然是HTTP),监听端口8000。
我在Linux上工作,所以为了在Internet Explorer 6、7、8等上测试该页面,我使用VirtualBox运行一个虚拟机;我还需要看看Firefox在windows环境下的外观(例如字体不同)。
在我的真实机器中,我只需使用URL打开网站http://localhost:8000,如何从虚拟机寻址此本地主机?
现在我的解决方法是使用IP地址。有更好的主意吗?
当前回答
macOS操作系统
我正在macOS(以前的OS X)上运行Virtual Box,使用Virtual Box在Windows等上测试IE。
转到Virtual Box中的IE并通过http://10.0.2.2对于本地主机,或http://10.0.2.2:3000对于localhost:3000。
我将网络设置保持为NAT,不需要如上所述的网桥。无需编辑任何配置文件。
其他回答
您很可能将虚拟机的网络设置为NAT。如果将网络设置为Bridged,则应该能够通过主机名访问主机。例如,如果您的主机名是“jsmith-Precision-7510”,并且您想打开http://localhost:3000/,您可以在http://jsmith-Precision-7510:3000/.
要查找主机名,请打开终端/控制台,然后运行命令hostname。您的主机名将在下一行输出。
有关如何将网络设置设置为Bridged的说明,请参阅VirtualBox文档。
检查您是否可以使用以下命令访问父计算机:ipconfig(获取您的ip地址)
ping<ip>或telnet<ip><port>
如果无法访问端口,请尝试在父防火墙中添加允许本地端口的新入站规则。
然后我可以访问http://<ip>:<port>
您不需要更改主机文件或任何虚拟机配置。保留NAT中的设置。转到Windows实例并运行“cmd”或打开cmd.exe。执行命令“ipconfig”并获取默认网关IP地址。浏览http://10.0.2.2:8080在Windows IE上,您将看到与Mac Safari相同http://localhost:8080/或http://127.0.0.1:8080
在上面所述的virtual Box中,您可以添加以下行hosts文件
10.0.2.2 outer
但要保存它,如果您的VM中没有管理员,只需将主机文件移动到桌面,然后编辑它以添加行10.0….outer,保存文件,然后移动到其原始位置。
在虚拟箱中
将网络设置为桥接网络转到高级设置混杂模式:全部允许
现在,棘手的问题是本地主机,如果您从Node.js运行,请将IP地址设置为0.0.0.0,然后查找您自己的IP地址,例如cmd:ipconfig-->10.0.0.3
键入带有端口号的地址。它会奏效的。