Windows

虛擬機中的名稱“localhost”可以映射到主機的IP嗎?

  • July 29, 2013

我有一個來自 Microsoft 的“現代 IE”網站的 Windows XP/IE6 的虛擬機映像(使用 Virtual PC)。此虛擬機由 Windows 7 電腦託管。

我在主機上有一個本地 Web 應用程序,需要在 IE6 中檢查它(很遺憾)。在虛擬機內部,可以將“localhost”名稱映射為指向主機的IP嗎?我嘗試在虛擬機中編輯 c:/windows/system32/drivers/etc/hosts 文件以

$$ IP address of host machine $$本地主機,但這不起作用。我想使用“localhost”而不是 IP 的原因是因為一些 Web 應用程序的配置文件指向“localhost”。 我可以更改配置文件以指向不同的域名,但我想知道“localhost”名稱本身是否可以指向其他內容。我感覺“localhost”是某種類型的保留關鍵字,它只指向 127.0.0.1。

不,你不能那樣做。

RFC 2606,定義“保留的 TLD”明確禁止它,因此幾乎所有 TCP/IP 堆棧將始終將“localhost”靜態綁定到本地環回地址 (127.0.0.1)

如果您將 IIS 用作 Web 伺服器,則可以使用應用程序請求路由來創建“代理”規則,然後從另一台主機獲取該文件。

如果您想使用該名稱從來賓訪問主機上的 Web 應用程序,localhost您可以使用某種反向代理。代理將安裝在來賓機器上。

您在來賓上執行的 Web 瀏覽器也將連接到在來賓上執行的反向代理,因此它可以使用localhost指向127.0.0.1. 然後,反向代理將連接到主機上執行的真實 Web 伺服器。

  1. 上面提到的應用程序請求路由是在 IIS 上執行的一個範例,但似乎只支持 IIS 7 和更新版本。當您在主機上執行 Web 伺服器時,您在客戶機上執行哪個伺服器並不重要。
  2. Apache可以配置為反向代理。.
  3. Squid也可以充當反向代理
  4. 還有例如Proxyma

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