![](/img/trans.png)
[英]node: getaddrinfo ENOTFOUND (localhost:5000) running on different localhost:8888
[英]Localhost not working and running on different network?
概述
從源代碼中我可以看到 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 個應用程序
我在端口 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.