我有一个本地测试/开发服务器(当然是 HTTP),监听端口 8000。

我正在 Linux 上工作,因此要在 Internet Explorer 6、7、8 等上测试该页面。我使用 VirtualBox 运行虚拟机;我还需要看看它在 Windows 环境中的 Firefox 上的外观(例如字体不同)。

在我的真机中,我只需使用 URL 打开网站 http://localhost:8000, ,如何从虚拟机寻址此本地主机?

现在我的解决方法是使用 IP 地址。还有更好的想法吗?

有帮助吗?

解决方案

谷歌搜索接通此设置: http://data.agaric.com /本地主机 - 从 - 的virtualbox-XP-安装-ubuntu的

有建议使用IP:http://10.0.2.2,以及它为我工作

所以,我编辑主机文件,C:\windows\system32\drivers\etc\hosts,并加入本项:

10.0.2.2   outer

如果你在IE8测试,记得把http://在地址栏中。只要把IP直接将无法正常工作。

例如:

http://10.0.2.2:3000/

其他提示

MACOS

我在MacOS(先前OS X)运行虚拟盒,使用虚拟盒测试IE在Windows等

经由localhosthttp://10.0.2.2,或localhosthttp://10.0.2.2:3000转到IE在虚拟箱和访问localhost:3000

我一直在网络设置,NAT,不需要桥在我的情况下,建议以上。有没有必要修改任何配置文件。

要在 OSX 上启用此功能,我必须执行以下操作:

  1. 关闭您的虚拟机。
  2. VirtualBox Preferences -> Network -> Host-only Networks -> 单击“+”图标。单击“确定”。
  3. 选择您的框并单击 "Settings" icon -> Network -> Adapter 2 -> 在“附加到:”下拉列表中,选择“仅主机适配器”和您的网络(vboxnet0) 默认情况下应该显示在下面。单击“确定”。
  4. 再次启动盒子后,您应该能够访问 localhost http://10.0.2.2/

您可以参考它 localhost 并通过将引用添加到主机文件来访问其他本地主机站点(C:\windows\system32\drivers\etc\hosts)像下面这样:

10.0.2.2    localhost
10.0.2.2    subdomain.localhost

您最有可能有你的虚拟机的网络设置为NAT。如果您的网络设置为桥接,你应该能够通过它的主机名来访问您的主机。例如,如果你的主机名是“jsmith的精密-7510”和你想打开的http://本地主机:3000 / ,您将能够在 HTTP来查看网页:// JSMITH精密-7510:3000 /

要找到你的主机名,打开一个终端/主机,然后运行命令hostname。主机名将下一行被输出。

查看 VirtualBox的文档关于如何设置你的网络的说明setttings至桥。

我不得不进入VirtualBox和改变我的网络设置为“NAT”。在那之后,我能够通过localhost VirtualBox上打http://10.0.2.2:3000运行我的主机上从我的模拟器

我发现10.0.2.2:<port>作品,但是只有当混杂模式被正确设定。安装我的VM之后,我去设置>网络>适配器1。

NAT是默认设置,和混杂模式下拉被禁用。我从NAT切换到桥接适配器,这使混杂模式下拉列表,然后从“拒绝”改变值设定为“允许VM”。然后我切换回NAT,其中禁用混杂模式再次,但保留了新的值。

只有在此变更之后,我能够启动我的虚拟机,看看我的主机上 localhost:<port>在我的VM在10.0.2.2:<port>

如果您连接了适配器 网络地址转换, ,现在将端口转发设置为本地端口是更好、更优雅的解决方案。

Settings > Network > Adapter > Advanced > Port forwarding

只需插入新规则并设置 Host portGuest port80 (对于http)或 22 (对于 ssh),等等。

然后你可以通过输入访问该机器 http://localhost

您可能还想将 NAT 切换到透明模式。

<强>的MacOS

如果你想建立与VirtualBox的Windows环境在Mac上, 只使用适配器上的默认NAT设置, 并在您的Windows虚拟机,去hosts文件,并添加以下内容:

10.0.2.2       localhost
10.0.2.2       127.0.0.1

不同于上面的答案,它包括两条线是很重要的,否则将不能工作。

您需要编辑您的主机您的Windows虚拟机上的文件您的本地主机做同样的方式:

C:\窗口\ system32 \驱动程序\等\主机

和您的虚拟主机链接到10.0.2.2,如果你只是使用本地主机则更换

127.0.0.1本地主机与本地主机10.0.2.2

例如:

10.0.2.2 localhost
10.0.2.2 local.site1.com
10.0.2.2 local.site2.com

这告诉你的虚拟机指向本地机器的域名。

您不需要更改主机文件或任何 Virtual Box 配置。保留 NAT 中的设置。转到您的 Windows 实例并运行“cmd”或打开 cmd.exe。执行命令“ipconfig”并获取 默认网关 IP地址。浏览 http://10.0.2.2:8080 在 Windows IE 上,您会看到与 Mac Safari 相同的内容 http://本地主机:8080/ 或者 http://127.0.0.1:8080

一些事情的结合最终让我的事情顺利进行。在 macOS 上运行 Flask 服务器。

在我的 Windows VM 中,我编辑了主机文件:

  • 以管理员身份运行记事本
  • 打开 C:\windows\system32\drivers\etc\hosts
  • 添加此条目: 10.0.2.2 outer

在 VirtualBox 中关闭虚拟机和我的 Mac:

  • VirtualBox > preferences > Network > Host-only Networks > + 添加网络 vboxnet1
  • My_VM > settings > Network > Adapter 1.
  • 选择 Enable Network Adapter 并设置 Attached to:Bridged Adapter.
  • 然后设置 Advanced > Promiscuous Mode:Allow VMs.
  • 点击 OK
  • My_VM > settings > Network > Adapter 1.
  • Attached to: 回到 NAT.

然后我去了 Adapter 2

  • Attached to:Host-only Adapter 并选择之前添加的网络 vboxnet1.

我在我的Mac上启动了我的服务器,运行在 127.0.0.1:5000 现在可以在我的虚拟机上访问它 http://10.0.2.2:5000

在 Mac 上测试 IE 真是一场噩梦。怎么没有更简单的方法呢?

我通过网络下在VirtualBox中设置增加一个端口转发来解决。 主机IP组127.0.0.1端口:8080 游客IP:提供任何IP的网站(比如10.0.2.5)端口:8080 现在,从使用IE旅客机访问 http://10.0.2.5:8080

在作为所述上部虚框,则可以加入这一行的主机文件

10.0.2.2   outer

但保存它,如果你就在你的虚拟机只是移动hosts文件到桌面上,然后对其进行编辑以添加行10.0 ....外,保存文件,并移动到它原来的地方没有管理员

检查,如果你可以用打你的母机: ipconfig(让您的IP地址)

ping <ip>telnet <ip> <port>

如果你不能得到的端口,尝试在父母的防火墙允许本地端口添加新的入站规则。

当时我能够访问http://<ip>:<port>

在虚拟盒子中

  1. 将您的网络设置为桥接网络
  2. 进入高级设置混杂模式:允许全部

现在棘手的一点是你的本地主机,如果你从 Node.js 运行,请将 IP 地址设置为 0.0.0.0,然后查找你自己的 IP 地址,例如 cmd:ipconfig --> 10.0.1.3

输入该地址和端口号。它会起作用的。

一般步骤:

  • 公共网络,(添加仅主机或桥接网卡)
  • 配置首选服务以侦听适当的接口(连接到共享 NIC 的接口)
  • 使用IP:端口来访问目标服务,使用属于共享网络的IP。

在Windows上使用虚拟的Windows 7只为我工作的事情是使用 NAT和端口转发(没能桥接方式运行)。我发现了一个教程在这里:的 http://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/ (向下滚动到与部件 “转发端口到虚拟机”)。

有了这个变化,我可以用“ HTTP到达XAMPP网站://192.168.xx.x:8888 / mywebsite ”在我的虚拟机上的Internet Explorer 10。

我发现IP在XAMPP控制面板>用netstat( “系统”)。

如果你使用虚拟盒,你可以的Mac OSX(我认为Linux的)连接到使用一行代码的虚拟Windows计算机 - >我建议在终端运行此之前停止箱

VBoxManage modifyvm "YOUR VM NAME" --natdnshostresolver1 on

我会注意到,这是来自帆船的文档,我正在运行,但它是一个虚框的命令,所以应该没有真正关心你使用,只要其虚拟盒

我需要在本地主机上运行,​​而不是一些奇怪的IP。

1) 从您的 Mac 终端,执行 iconfig -a 查找您的本地 IP 地址。这可能是最后一张了

en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV> ether 38:c9:86:32:0e:69 inet6 fe80::ea:393e:a54f:635%en7 prefixlen 64 secured scopeid 0xe inet 10.1.5.60 netmask 0xfffffe00 broadcast 10.1.5.255 nd6 options=201<PERFORMNUD,DAD> media: autoselect (1000baseT <full-duplex,flow-control>) status: active

例如10.1.5.60

2) 启动您的 Windows 映像。开始 > 键入 cmd 得到一个终端

3) notepad c:\windows\system32\drivers\etc\hosts

4)添加以下行10.1.5.60 localhost

5) 打开 IE,下面的 url 应该会出现在你的 mac 上运行的服务器上: http://localhost:3000/

找运行Apache本机的IP(INET地址:在ifconfig)和在虚框浏览器地址栏中输入

其实,user477494的答案是正确的原则。

我已经应用在其它环境(OS X主机 - 虚拟视窗XP)相同的逻辑和的伎俩。我确实有周期主机 LAMP堆栈获得IP地址和Apache端口来解决,但一旦我想通了这一点,我在笑。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top