簡體   English   中英

Node.js EADDRNOTAVAIL 無法通過外部 IP 訪問

[英]Node.js EADDRNOTAVAIL can't access via external IP

app = require('http').createServer()
app.listen(5000, '75.113.126.31')

Error: listen EADDRNOTAVAIL

人們說這個錯誤意味着我正在嘗試監聽一個我不擁有的 IP 地址。 但根據谷歌,這是我的外部IP地址。

另外,如果我省略我的 IP,它只在我訪問localhost:5000127.0.0.1:5000 ,訪問75.113.126.31:5000不起作用,即使人們說當我不給時節點也應該在那里聽第二個要聽的論點。 我還嘗試偵聽 IP 0.0.0.0 ,但沒有通過外部 IP 訪問它。

可能的原因是什么? 我禁用了 Windows 防火牆,但這沒有幫助。

您的外部 IP 和您計算機的網絡地址通常幾乎沒有任何共同之處。 事實上,如果他們匹配,那將是非常不尋常的。

如果您希望您的服務遠程可用,通常您綁定到0.0.0.0

還值得注意的是,如果您有某種路由器或防火牆,則需要配置端口映射以使端口 5000 正確路由到您的本地 IP。

ipconfig應該會顯示您的實際 IP 地址。

您還應該知道,某些路由器不處理將內部流量映射回本地 IP。 許多人這樣做,所以這並不總是一個問題,但如果它不起作用,可能就是這種情況。

您收到的錯誤消息是正確的。 我將假設您在路由器后面的計算機上。 Google 報告的 IP 地址是分配給您的路由器的 IP 地址,而不是您的計算機,即您的計算機不擁有它。 您可以通過在 cmd 提示符下運行命令 ipconfig 來證明這一點,找出您的 eth/wifi ip 地址,並在您的 app.listen 中使用它(它可能以 192 或 10 開頭),它應該可以工作。 如果您想讓您的應用程序公開,一個更簡單的方法可能是將端口 5000 從您的路由器轉發到運行節點應用程序的計算機。 希望這可以幫助!

暫無
暫無

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

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