我有一个在 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 防火墙中启用它,我相信它默认是禁用的。
答案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/卡
一些说明:
- 对于那些不知道的人来说,你可以重新装备 6 次 winserver2022 180 天评估,所以如果你想开玩笑,这应该足够了:)延长 Windows 评估期
- 如何排除 Windows 防火墙故障:如何使用日志跟踪防火墙活动