如何使用Virtual PC上的端口访问localhost


3

我安装了一台带有Windows7的Virtual PC,并打开了与我的机器localhost的连接。

我的电脑名称是memphis,我在hosts文件中添加了以下行:

127.0.0.1 memphis

我也更新了 IIS 默认网站绑定包括:

memphis, 80, All unassigned

现在,在我输入的虚拟机IE9中输入:

http://memphis/

这很好用,并显示目录内容......然后我在IIS下添加了一个新网站,并将其绑定更改为

localhost 900, and memphis 900

在我的机器运行良好,但在Virtual PC IE我输入:

http://memphis:900/

我得到的页面无法显示......发生了什么?为什么我无法访问Virtual PC上的其他端口?


所以你试图从你的客人那里访问主机上运行的HTTPD?
Der Hochstapler

可能不相关,但在您的示例中,您在端口号之前使用逗号:“memphis,80,All unassigned”,但在新网站绑定中,您有“localhost 900和memphis 900”。
Leathe

@leathe不是它们是相同的,我使用IIS中的控制台来添加新的绑定
Ayyash

@OliverSalzburg好吧,如果我理解你的问题,我试图在我的本地机器上运行一个站点IIS(主机)在Virtual PC上(客人)
Ayyash

主机/客户端是否允许端口900通过?
Leathe

Answers:


3

安装Virtual PC实例时,它就像一台全新的计算机, localhost 将引用两台不同的计算机,具体取决于您是在主机(物理计算机)还是guest虚拟机(Virtual PC实例)上解析它。

你不必把任何东西放进你的 hosts 文件以使主机知道您的计算机名称。主机知道自己的名字。

您可以将主机的名称放入 hosts guest虚拟机上的文件,但只要它们共享同一个网络,就不需要这样做(由于Windows的点对点名称解析),但它也不应该受到影响。

您的HTTPD(IIS)使用的端口将始终为80.您只需通过其网络IP地址访问您的主机(如 192.168.1.10 127.0.0.1 )。

如果您想使用非标准HTTP端口(如900),则可能必须在Windows防火墙中手动打开该端口,以便guest虚拟机能够连接到该端口。

该过程概述于 这个答案 ,但这里根据您的情况调整:

  1. 转到“控制面板”并启动 Windows防火墙

  2. 高级设置

  3. 选择 入境规则 在左侧窗格中

  4. 选择 新规则 在右侧窗格中

  5. 在“新建入站规则向导”中,选择 港口 作为规则类型,然后单击 下一个

  6. 选择 TCP 并把 900 (以及您要打开的任何其他端口) 具体   当地港口 ,然后点击 下一个

  7. 选择 允许连接 ,然后点击 下一个

  8. 选择应用规则的网络位置(如果您不确定,请选择全部),然后单击 下一个

  9. 提供名称和可选说明


好吧,我的Windows7旗舰版总是遇到这些协议的问题,我认为它是一个我无法弄清楚的代理设置......基本上,192.168。*。*没有先将其添加到IIS的绑定中,但我尝试将memphis从主机,我的机器停止识别 孟菲斯 (是的,我知道,奇怪,但我从来没能解决这个问题)。无论如何,我的问题不是默认80,它是在900端口,也许我应该尝试不同的端口号?
Ayyash

@Ayyash:嗯,是的,你必须加上 192.168.x.x 我猜你的IIS绑定地址,否则你将无法使用它。所以,如果我现在正确理解你,一切都按照预期在80端口工作,但只有端口900不是?在这种情况下,您确定在Windows防火墙中打开该端口吗?
Der Hochstapler

我怎么做?
Ayyash

@Ayyash:检查这个答案: superuser.com/a/92494/36744
Der Hochstapler

我的上帝终于来了!谢谢你的工作
Ayyash
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.