【问题标题】:How do I connect to a localhost service from a hyper-v VM?如何从 hyper-v 虚拟机连接到 localhost 服务?
【发布时间】:2012-06-24 00:57:20
【问题描述】:

我有一个在“http://localhost:12345/ServiceName”上运行的 WCF 服务。在 Windows 8 公共测试版中,我还有一个在 hyper-v 下运行的 VM。有什么方法可以从 VM 连接到此服务?我似乎无法在 hyper-v 管理器中设置桥接网络连接。另一种方法是将 WCF 服务绑定到 Win8 机器名称或 IP,但我不知道如何从 VM 端找出该端点是什么。 WCF 服务可以根据需要进行任何更改...

任何帮助将不胜感激!

非常感谢, 乔恩

【问题讨论】:

  • 我在server fault 上询问了相关(我认为)评论,但没有答案。你解决过这个问题吗?

标签: wcf virtual-machine hyper-v


【解决方案1】:

不确定这是否适用于 Windows 虚拟机,但我设法从 Ubuntu 虚拟机中打开了主机的 URL:

  1. 在主机上禁用防火墙或添加规则以允许连接到相应端口(在您的情况下为 12345)。
  2. 在 VM 上编辑 /etc/hosts,将 127.0.0.1 localhost 替换为 IP_OF_HOST localhost

现在 http://localhost:12345/ServiceName 应该从 VM 内部打开。

【讨论】:

    【解决方案2】:

    您可以在 Hyper-V(虚拟交换机管理器)中创建虚拟交换机,然后您可以将其连接到您的虚拟机(右键单击虚拟机 -> 设置 -> 创建 Legaci 网络适配器 -> 将虚拟交换机连接到它)。之后,您应该在 VM 中为您的操作系统安装到 Hyper-V 的集成。然后您可以连接到虚拟机中的虚拟交换机。之后,您也可以访问互联网。你的主机有它。在网络浏览器中输入您的主机的 IP 地址,您可以访问主机中的任何服务

    您还需要在主机命令 shell netsh http add urlacl url=http://*:12345/ user=Everyone 上以管理员身份运行,其中 12345 是您的服务的端口号。

    【讨论】:

    • 我在 Hyper-V for Win8 Pro 中尝试了上述方法,使用来自modern.ie 的 IE7-Vista 和 IE8-WIn7 VM,但无法访问 localhost。
    • 这可能对其他人有帮助:blog.somewhatabstract.com/2014/11/24/…
    • 这似乎不能解决问题。而且我认为没有任何方法可以这样做,因为每个 VM 上都存在环回接口,并且您不想重定向 localhost。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多