从主机操作系统访问虚拟机的 Web 服务器

从主机操作系统访问虚拟机的 Web 服务器

我的电脑上运行的是 OS X,并使用 VirtualBox 安装了 Windows 10。在 Windows 上,我正在开发一个服务器,我可以通过 访问它(在 Windows 上)http://localhost:8080/

现在,我需要从 OS X 访问它(使用 Java 应用程序,但没关系),这就是问题所在。如何从 OS X(例如使用 Safari)访问 Windows VM localhost?

(我研究了几个小时,尝试了桥接访问、私人主机等,但都没能解决我的问题。)

答案1

在默认 NAT 适配器下启用端口转发

将您想要访问的端口 (guest) 80 传递到您想要在 (host) 上访问的端口 80

  • VirtualBox > 设置 > 网络 > 适配器 1 > 高级 > 端口转发
  • 为规则命名
  • 左边的数字是公共的(主机端口)
  • 右号为私人号码(来宾端口)

在我的例子中,我在 Ubuntu 客户机上运行了 apache2 并进行了转发,因此 windows:80 路由到 ubuntu:80

此方法适用于任何主机和客户操作系统上任何端口上运行任何服务

使用 VirtualBox 进行端口转发

答案2

请遵循以下步骤:

  1. 创建桥接网络
  2. 为 Windows 机器分配一个 IP 地址。
  3. 从主机 ping Windows 机器。如果 Windows 机器回复,则连接没有问题。
  4. 关闭 Windows 机器上的防火墙或在防火墙中添加规则以允许从远程访问 Web 服务器。
  5. 正确配置 Web 服务器以便从远程机器进行访问。
  6. 启动 Web 服务器。
  7. 打开主机浏览器并输入http://IP:8080/(IP 是分配给 Windows 机器的 IP)。

如果 ping 有效且防火墙被禁用,并且 Web 服务器处于活动状态且可在本地主机上访问,那么唯一的问题就是 Web 服务器配置。

相关内容