簡體   English   中英

本地主機無法在不同的網絡上運行和運行?

[英]Localhost not working and running on different network?

概述

  • Win 10 專業版,64 位
  • 靜態服務器從本地主機工作
  • 所有其他 node.js 服務器停止在 localhost、127.0.0.1 上工作,僅在 172.16.xxx.xxx 主機上工作

從源代碼中我可以看到 static-server host 是 0.0.0.0 ,這與我的相同。 我在 0.0.0.0 https://nodejs.org/api.net.html.net_server_listen_port_host_backlog_callback上運行我的服務器

這一切突然發生在我的 windows 機器和幾個 web 應用程序與 webpack 上。我再次安裝 windows,問題仍然存在。

我將WebpackDevServer與主機一起使用: 0.0.0.0

細節

我在安裝了一些 vpn 的全新 win 10 上運行。

所以我有這 3 個應用程序

  • 主機 0.0.0.0:9080 上的 webpack-app
  • 端口 9080 上的靜態服務器(也應該是本地主機)
  • 在端口 3000 上帶有 react-create-app 的 webpack-app

我在端口 9080 上啟動 webpack-app,然后向瀏覽器輸入 go 並提示“無法訪問此站點,localhost 拒絕連接。” (我 100% 確定在 9080 上運行,因為我所有的 webpack 應用程序立即停止工作)

在此處輸入圖像描述

我現在啟動靜態服務器並在端口 9080 上運行,一點也不抱怨。 現在我向瀏覽器輸入 go,它會在端口 9080 上打開頁面。

所以現在我想我在 2 個不同的網絡上運行。 這是它在 windows 中的樣子:

在此處輸入圖像描述

所以現在我看看是否有人在監聽端口 9080,我看到了這個:

在此處輸入圖像描述

我關閉靜態服務器,它就消失了。 意味着靜態服務器正確顯示在那里。

那里也沒有其他 node.exe 進程。 那么我的 webpack-app 到哪里去了呢?

現在一段時間后,端口 3000 上會彈出一些東西

在此處輸入圖像描述

不知道為什么在同一個端口上有這么多,我從 go 到那個 url 並且它有效。 但不適用於 localhost:3000。

到底是怎么回事? 為什么它不再適用於本地主機?

如果您將 Windows 子系統用於 Linux,尤其是 WSL2,請記住它在具有虛擬 NIC 的 Hyper-V 虛擬機中運行。 換句話說,它創建了自己的虛擬網絡。

根據WSL2 常見問題解答

新架構使用虛擬化網絡組件。 這意味着在初始預覽版中,WSL 2 的行為將更類似於虛擬機,例如:WSL 2 將具有與主機不同的 IP 地址。 我們致力於讓 WSL 2 感覺與 WSL 1 一樣,這包括改進我們的網絡故事。

因此,開發服務器將在與 127.0.0.1(又名本地主機)不同的地址運行。 這就是從瀏覽器調用 localhost 時返回連接被拒絕錯誤的原因。

是微軟建議的一種可能的解決方案。

遇到與上述相同的問題。 清除了我的瀏覽器數據和緩存,效果非常好!!

所以很奇怪,在幾次重新啟動后它就可以工作了。 我的 node.js 服務器監聽 0.0.0.0 而不是 172.xxx.xxx.xxx。 我真的很困惑為什么它現在有效,為什么以前無效。 如果有人能弄清楚就太好了。 謝謝大家的幫助。

編輯:再次發生,我是這樣修復的:我禁用了所有 docker 和 expressvpn 應用程序以在 Windows 啟動並重新啟動我的電腦,現在可以工作了。

編輯 2:再次發生,我通過關閉 express vpn 並禁用我的 wifi 來修復。 我只使用有線以太網電纜。 這次不需要重啟。

我想我的 Windows 機器發生了一些事情。 不知道為什么有網絡。

似乎 0.0.0.0 沒有解析地址。
請檢查ping 0.0.0.0 -p 9080工作?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM