VirtualBox:如何在 Windows 11 上将 VirtualBox VM 中的应用程序公开到互联网(以便人们可以从域访问它)?

VirtualBox:如何在 Windows 11 上将 VirtualBox VM 中的应用程序公开到互联网(以便人们可以从域访问它)?
  • 我有一个域名app.example.com,指向我的互联网的公共静态IP。
  • 我有一台运行 Windows 11 的计算机,其内部 IP 为192.168.192.168
  • 在那台计算机上,我有一个带有 NAT 和内部 IP 的 VM(VirtualBox、Ubuntu)10.10.10.10
  • VM 有一个在端口 上运行的应用程序1234

问题:如何将应用程序公开到互联网,以便人们访问时app.example.com可以看到虚拟机内的应用程序?我正在尝试使用 IIS,但到目前为止没有成功。有没有比 IIS 更好的替代方案?

我做了什么:

  • 我为虚拟机创建了一个端口转发规则,该规则将任何正在侦听 的主机转发:1234到虚拟机10.10.10.10:1234。此时,我可以通过运行 从主机访问虚拟机内的应用程序localhost:1234。我还可以使用主机的内部 IP 从同一网络中的其他计算机访问该应用程序,例如192.168.192.168:1234
  • 80在路由器设置上打开了端口,以便流量app.example.com可以通过。我还打开了主机上的防火墙以接受所有传入流量(仅用于测试目的)。
  • 在主机上的 IIS 中,我创建了与域app.example.com、IP127.0.0.1和端口的绑定1234

我仍然无法app.example.com从网络外部访问,而且我的网络知识有限,所以我不知道还应该做什么。

答案1

将您想要访问的机器置于桥接模式,以便外部计算机可以访问它。

虚拟盒桥接模式

要启用桥接网络,请打开虚拟机的“设置”对话框,转到“网络”页面,然后在“附加到”字段的下拉列表中选择“桥接网络”。从页面底部的列表中选择一个主机接口,该列表包含系统的物理网络接口。

这将为您的机器在路由器上提供一个 IP,以便域中的人们可以访问它。

我这样做是为了从外部机器访问客户机器。

请记住(取决于您的整体设置),您可能希望/需要通过 IP 地址来寻址这台客户机,至少在启动时是这样。

相关内容