虚拟盒本地主机访问

虚拟盒本地主机访问

关于 Virtual Box 4.1.8 的问题
因此,我有 Ubuntu 10.10 作为主机,Windows XP 作为客户机。在主机上有 tomcat,其 Web 应用程序在端口 8888 上运行。当我在客户机中时,我在浏览器中输入:
http://10.0.2.2:8888/Something.html并且它可以工作。
但我的 Something.html 有指向 javascript 的链接,如 src="http://localhost:8888/webApp/someScript.js,它们显然不起作用(因为“localhost”部分)。
另一个问题是我现在不想使用相对路径,只使用绝对路径。另外我不想在我的链接中将 localhost 更改为主机 IP
也许有一些解决方案,比如端口转发或虚拟盒的网络配置,我可以在我的访客浏览器中输入 http://localhost:8888/Something.html

谢谢任何线索。

答案1

你真正的问题是,你想要做的事情对于任何类型的网络应用程序来说都是没有意义的,这些网络应用程序应该为其机器之外的任何内容提供服务:你需要在客户端机器上不需技巧就能工作的链接,无论是使用适用的相对路径还是非本地主机名。

当然有一个解决方法:

只需在 Windows 上安装 Putty,然后使用它创建从您机器上的端口 8888 到 10.0.2.2 上的端口 8888 的端口转发。您会在 Google 上找到很多链接,解释如何在 Putty 中完成此操作。

之后,你只需连接localhost:8888应该工作。

答案2

/etc/hosts如果您在主机上和客户机上手动添加主机名%systemroot%\system32\drivers\etc\hosts,则可以在代码中使用该名称。由于两台机器都可以解析它,所以它应该可以工作。正如 SvenW 提到的,这不是解决问题的方法,但对于测试目的来说应该没问题。

条目示例hosts

10.0.2.2 webapphoster

...然后你就可以调用 js:

src="http://webapphoster:8888/webApp/someScript.js"

相关内容