Windows

使用虛擬 Windows 機器瀏覽本地網站:可能嗎?

  • November 14, 2017

在我們的 Web 開發過程中,我們經常需要在多個瀏覽器中測試我們的應用程序和網站的佈局。由於獨立執行所有這些瀏覽器幾乎是不可能的,並且諸如IETester之類的應用程序無法完美執行並且無法在 Windows 7 上執行,因此能夠為這些瀏覽器執行虛擬機以擁有“本機”將是一件好事經驗。

目前,我正在使用執行IE7的****Virtual Windows XP進行嘗試。我自己的設置是Windows 7 RC1 64bit。我們的大多數網站和應用程序都是使用 Windows 主機文件中的映射在本地開發的。

問題:

從虛擬機中導航到http://mywebsite.localhost時,會查詢虛擬機的主機文件,而不是虛擬機頂部的實際作業系統。此外,當添加完全相同的映射時,瀏覽器(顯然)仍然導航到“虛擬本地主機”。

  • 有沒有辦法讓虛擬機查詢 Windows 7 主機文件?
  • 有沒有辦法使虛擬機的本地主機與實際的 Windows 7 本地主機相同?

請在開始之前閱讀下面的全部說明,並檢查您必須執行哪些操作才能撤消這些說明。這是憑記憶,我現在用的是Mac。

我假設你使用 VMware 和你的虛擬機

$$ the usual abbreviation for Virtual Machine $$在 NAT 組網模式下。 按照通常的 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 的類似腳本進行多平台測試。

引用自:https://serverfault.com/questions/30829