我安装了带有 Windows7 的虚拟 PC,并打开了与我的机器本地主机的连接。
我的计算机名称是孟菲斯,我在 hosts 文件中添加了以下行:
127.0.0.1 memphis
我还更新了互联网信息服务默认网站绑定包括:
memphis, 80, All unassigned
现在,在虚拟机 IE9 中我输入:
http://memphis/
效果很好,并显示了目录内容...然后我在 IIS 下添加了一个新网站,并将其绑定更改为
localhost 900, and memphis 900
在我的计算机上,它运行良好,但在 Vritual PC IE 中我输入:
http://memphis:900/
我收到“页面无法显示...”的提示,这是怎么回事?为什么我无法访问虚拟 PC 上的其他端口?
答案1
当您安装虚拟 PC 实例时,它就像一台全新的计算机,localhost
将指代两台不同的机器,具体取决于您是在主机(您的物理计算机)还是客户机(虚拟 PC 实例)上解析它。
您无需将任何内容放入hosts
文件中,即可让主机知道您的计算机名称。主机知道自己的名称。
您可以将主机的名称放入hosts
客户机的文件中,但只要它们共享同一个网络,就不需要这样做(由于 Windows 的对等名称解析),但也不会造成任何损害。
HTTPD(IIS)使用的端口始终为 80。您只需通过主机的网络 IP 地址访问它即可(例如192.168.1.10
,不是 127.0.0.1
)。
如果您想使用非标准 HTTP 端口(如 900),则可能必须在 Windows 防火墙中手动打开该端口,以便您的客户端能够连接到该端口。
该过程概述于这回答了,但这里针对您的情况进行了调整:
进入控制面板并启动Windows 防火墙。
去高级设置
选择入境规则在左侧窗格中
选择新规则在右侧窗格中
在新建入站规则向导中,选择港口作为规则类型,然后点击下一个
选择TCP并把900(以及您想要打开的任何其他端口)特定本地端口,然后点击下一个
选择允许连接,然后点击下一个
选择应应用规则的网络位置(如果不确定,请选择全部),然后单击下一个
提供名称和可选描述