如何从主机网络访问虚拟机上的 IIS Web 服务器

如何从主机网络访问虚拟机上的 IIS Web 服务器

我有一个在 Windows 8 虚拟机上的 IIS 上运行的网站。

http://localhost/RTStreamer/Ticker.html

如何从主机外部访问该网站?主机 IP 为 168.192.42.1

我已经将虚拟机的网络更改为“桥接网络”,但不知道从主机网络访问的 IP 和端口是什么。

答案1

检查 VirtualBox 中的网络设置。默认情况下,选择 NAT。

NAT 在大多数情况下都适用,但要访问客户机的服务,您必须转发端口。VirtualBox 网络设置底部有一个按钮用于配置端口转发。

您的 IIS 在端口 80 上提供服务。您必须创建一条从客户机端口 80 转发到主机端口 8080 的规则。

现在您就可以浏览http://localhost:8080您的主机了。

答案2

确保已相应配置防火墙以允许虚拟机中的 HTTP 流量。

以下是如何在 Windows 防火墙中启用它,我相信它默认是禁用的。 Windows 防火墙 HTTP 入站流量

答案3

好的,我通过执行端口转发和防火墙规则添加使其工作正常。

首先确保您可以使用控制台命令 ipconfig 发现的公共 IP 地址在客户机上访问网站。

然后添加端口的防火墙规则并使用端口 80

然后在虚拟机中设置端口转发,只需将主机端口指定为 8080,将客户机端口指定为 80

然后点击主机后面的 urlhttp://本地主机:8080/{您的网站名称}

答案4

我觉得其他回应可能缺乏一些精确性,所以这里是我的“程序”:

主持人:Windows 10 家庭版

客人:Windows Server 2022 标准评估

Virtual Box 中的配置:桥接适配器(因此客户 IP 是 192.168.1.5)

主机中的防火墙:如果您具有与我相同的设置(默认设置并允许任何公共/域/私人配置文件的出站连接),则您不必在这里执行任何操作:在此处输入图片描述

来宾中的防火墙:我专门为端口 8082 创建了一条入站规则(这是我在 Guest 中为 API 选择的端口)。这意味着您可以:

  • 创建新规则
  • 步骤1:选择“端口”规则类型
  • 步骤2:允许连接
  • 步骤3:选择特定端口
  • 步骤 4:选择仅限私人(至少对我来说,私人就足够了,而且似乎是唯一有效的)
  • 步骤5:命名,就完成了

如您所见,guest 将允许从任何远程端口连接到 8082。如果您想更改它,您可能需要搜索源端口是什么。我想我试过 80 和 8080,但仍然不起作用。

然后我就可以在 IIS 上从主机向客户机调用我的 API 了:http://192.168.1.5:8082/api/卡

一些说明:

相关内容