AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 30829
Accepted
Aron Rotteveel
Aron Rotteveel
Asked: 2009-06-25 00:48:07 +0800 CST2009-06-25 00:48:07 +0800 CST 2009-06-25 00:48:07 +0800 CST

使用虚拟 Windows 机器浏览本地网站:可能吗?

  • 772

在我们的 Web 开发过程中,我们经常需要在多个浏览器中测试我们的应用程序和网站的布局。由于独立运行所有这些浏览器几乎是不可能的,并且诸如IETester之类的应用程序不能完美运行并且无法在 Windows 7 上运行,因此能够为这些浏览器运行虚拟机以拥有“本机”会很好经验。

目前,我正在使用运行IE7的Virtual Windows XP进行尝试。我自己的设置是Windows 7 RC1 64bit。我们的大多数网站和应用程序都是使用 Windows 主机文件中的映射在本地开发的。

问题:

从虚拟机中导航到http://mywebsite.localhost时,会查询虚拟机的主机文件,而不是虚拟机顶部的实际操作系统。此外,当添加完全相同的映射时,浏览器(显然)仍然导航到“虚拟本地主机”。

  • 有没有办法让虚拟机查询 Windows 7 主机文件?
  • 有没有办法使虚拟机的本地主机与实际的 Windows 7 本地主机相同?
virtualization windows windows-7 hosts
  • 8 8 个回答
  • 7034 Views

8 个回答

  • Voted
  1. Best Answer
    Bernd Haug
    2009-06-26T06:30:05+08:002009-06-26T06:30:05+08:00

    请在开始之前阅读下面的全部说明,并检查您必须执行哪些操作才能撤消这些说明。这是凭记忆,我现在用的是Mac。

    我假设您在 NAT 网络模式下使用 VMware,并且您的 VM [虚拟机的常用缩写]。

    按照通常的 VMware 说法,我使用术语主机系统来表示运行 VMware 的操作系统安装,而使用客户机系统表示在 VMware 内部运行的系统。

    第一部分:在VMware模拟的NAT网络(通常为8号网络)上找到主机系统的IP地址:

    在主机上打开一个 cmd.exe 并输入:

    ipconfig /全部

    记下 VMware NAT 接口的 IP 地址

    第二部分:使主机文件统一

    更改主机系统上的主机文件 %systemroot%\System32\Drivers\Etc\hosts,使其使用 VMware NAT 适配器的 IP 地址,而不是本地网站的 127.0.0.1。

    确保 Web 服务器侦听该 IP 地址。

    第三部分:使 hosts 文件可用

    在主机系统上,在命令行中:

    rmtshare \\name-of-host-system\hostspath=%systemroot%\System32\Drivers\Etc /grant Everyone:r
    

    确保该路径中没有敏感信息。

    第四部分:获取主机文件

    在来宾系统上创建一个批处理文件 c:\hostsfile\vm_hosts_copy.bat,其中包含以下内容:

    copy \\name-of-host-system\hostspath\hosts %systemroot%\System32\Drivers\Etc
    

    将其导入您的注册表:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
    "CopyHostsFile"="c:\hostsfile\cm_hosts_copy.bat"
    

    如果所有这些都完成了,您应该能够在主机系统和所有来宾系统上使用相同的主机文件。来宾系统上的主机文件将在每次重新启动时更新。您只需在主机系统上的常规位置 %systemroot%\System32\Drivers\Etc\hosts 进行更改。

    您可以在所有 Windows VM 上使用它,并在大多数 Unix 系统上使用带有 smbclient 和 /etc/rc.local 的类似脚本进行多平台测试。

    • 4
  2. Swoogan
    2009-06-27T10:21:41+08:002009-06-27T10:21:41+08:00

    将您的虚拟机配置为使用桥接网络而不是 NAT(如果尚未这样做)。现在虚拟机与主机在同一个网络上。

    将来宾 VM 的主机文件配置为与您的工作站(VM 主机)相同。

    即:
    [VM主机的IP] mywebsite.localhost

    • 1
  3. Jon z
    2017-11-15T12:28:03+08:002017-11-15T12:28:03+08:00

    对此的正确答案已经存在于超级用户https://superuser.com/questions/144453/virtualbox-guest-os-accessing-local-server-on-host-os - 但我会在这里总结:

    就像每台计算机引用自身的幻地址一样127.0.0.1,是来宾操作系统引用其主机的幻地址,至少在 VirtualBox 世界中是这样。我设置可以访问主机操作系统上本地服务的网站的 VirtualBox VM 的过程是:localhost10.0.2.2

    1. 下载并安装 VirtualBox 和扩展包https://www.virtualbox.org/wiki/Downloads
    2. 下载并安装客户操作系统,很可能来自 Microsoft https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ - 在撰写本文时,您不需要编辑任何预配置设置(通过双击橙色立方体.ovf文件安装 VM)
    3. 安装来宾添加
    4. 更改和编辑主机文件的权限,C:\Windows\System32\Drivers\etc\hosts并重复您对主机操作系统所做的任何修改,替换127.0.0.1为10.0.2.2,例如,您可以添加如下行10.0.2.2 local.dev.example.com
    5. 启动网络浏览器并点击您在步骤 4 ( local.dev.example.com) 中屏蔽的 URL - 它应该加载主机操作系统提供的页面

    如果您不破解主机文件,则可以10.0.2.2直接在来宾操作系统中使用。希望有帮助!

    • 1
  4. chankster
    2009-06-25T00:57:38+08:002009-06-25T00:57:38+08:00

    有点横向,但是如果您要使用大量 VM 进行测试,请在主机上设置一个 DNS 服务器,并带有一个测试区域,该测试区域转发到您的常规 DNS 服务器。然后将主机更改为使用本地 DNS 服务器,VM 应遵循。

    安德斯

    • 0
  5. user10501
    2009-06-25T01:02:38+08:002009-06-25T01:02:38+08:00

    由于您可以从虚拟机中访问 Windows 7 文件系统,因此您似乎可以设置虚拟机,以便在启动期间将 Windows 7 主机文件复制到虚拟机的主机文件。不过,这是一个理论而非实际的答案,因为我没有可用的 Windows 7 来试用它。

    • 0
  6. Taras Chuhay
    2009-06-25T01:33:57+08:002009-06-25T01:33:57+08:00

    您应该以某种方式安排您的虚拟机通过 DNS 或 lmhosts 功能“看到”彼此。我也会避免在其中使用带有 localhost 的 pc 名称,您可以完全不使用后缀或像 mypc.local 这样的smth

    主 LMHOSTS 文件始终位于 %systemroot%\System32\Drivers\Etc 目录中。使用 Microsoft TCP/IP,您可以包含来自本地和远程计算机的其他 LMHOSTS 文件。

    用户可以通过以下方式从网络上的远程计算机导入 LMHOSTS 文件

    • 在 LMHOSTS 文件中使用 #INCLUDE 语句
    • 单击 Microsoft TCP/IP 属性对话框的 WINS 地址选项卡上的导入 LMHOSTS。

    另请参阅此MS 知识库文章。

    • 0
  7. Kara Marfia
    2009-06-25T04:37:38+08:002009-06-25T04:37:38+08:00

    有没有办法使虚拟机的本地主机与实际的 Windows 7 本地主机相同?

    以上使我认为您可能遇到了概念上的减速带。您的 VM 不会(也不应该)将其主机视为 localhost。它是网络上不同的逻辑设备。

    本地主机是一个保留术语,它总是指向 127.0.0.1。试图颠覆它似乎很像从大锤上折断头部以使其成为手杖(而不仅仅是使用手杖)。

    DNS 和主机文件正是出于这个原因而存在的。

    • 0
  8. Jure1873
    2009-06-27T13:13:31+08:002009-06-27T13:13:31+08:00

    我只需将 squid 或其他代理放在主机上,并让所有来宾将其用作代理,因此 localhost 将成为主机的本地主机,并且将尊重主机的主机文件。

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve