2016-04-30 57 views
0

以前我見過這個問題,但沒有任何建議正在爲我解決這個問題。我意識到這個問題已經被問到,通常的答案是防火牆(檢查),確保你正在監聽所有接口(done,.listen(port,'0.0.0.0')),並確保沒有別的東西在使用端口是,我試過其他港口)。無法從局域網上的其他計算機訪問OS X 10.11上的Node.js服務器

我運行以下節點服務器,並且我可以從本地機器(僅使用localhost或本機的IP)中擊中它,但網絡上沒有其他計算機可以訪問它(請求只是超時)。

未啓用防火牆,機器上的其他網絡服務(如文件共享)正常工作。除了可能阻止入站http的防火牆之外,OS X中是否有某些內容?

var http= require ('http'); 
var port=1337; 

http.createServer(function (req, res) { 
    res.writeHead(200, { 
     'ContentType':'text/plain' 
    }) 
    res.end("Hello!"); 
}).listen(port, '0.0.0.0'); 


console.log('Server started on port:'+port); 

的ifconfig輸出:

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 
    options=3<RXCSUM,TXCSUM> 
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=1<PERFORMNUD> 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 
stf0: flags=0<> mtu 1280 
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 
    ether a8:66:7f:30:be:34 
    inet6 fe80::aa66:7fff:fe30:be34%en0 prefixlen 64 scopeid 0x4 
    inet 192.168.1.148 netmask 0xffffff00 broadcast 192.168.1.255 
    nd6 options=1<PERFORMNUD> 
    media: autoselect 
    status: active 
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304 
    ether 0a:66:7f:30:be:34 
    media: autoselect 
    status: inactive 
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484 
    ether 56:a5:ec:34:2f:fc 
    inet6 fe80::54a5:ecff:fe34:2ffc%awdl0 prefixlen 64 scopeid 0x6 
    nd6 options=1<PERFORMNUD> 
    media: autoselect 
    status: active 
+0

如果你嘗試在你的機器上運行一些其他的http服務器,你可以試試'python -m SimpleHTTPServer 8000'來監聽端口'8000'。只是爲了驗證問題是否與您的nodejs代碼 – Yerken

+0

偉大的事情來檢查診斷 - 謝謝,但同樣的問題。然後,可以從本地機器使用IP打到它就好(我得到默認目錄列表),但其他機器無法擊中它。它真的好像是一個防火牆問題,但「安全和隱私」中的防火牆肯定是關閉的。 – WillyC

+0

你確定你打的是正確的內部IP地址嗎?你也可以嘗試使用你自己的機器,防火牆很少阻塞ICMP數據包。發佈輸出 – Yerken

回答

0

我固定它雖然該解決方案是不理想的。

我在WAN上爲端口1337添加了端口轉發規則,以指向內部IP 192.168.1.148。然後,從網絡上的其他設備,我可以通過端口1337訪問路由器的WAN IP,並獲得服務器響應。 (Linksys EA3500 N750)似乎阻止了各種局域網流量,我無法禁用它(沒有AP隔離設置關閉)。所以我想我會說,如果你做網絡開發,這不是你的路由器,但如果你找到了你的方式,這是一個解決方案,可以讓你繼續工作。

感謝大家幫我排除故障,至少隔離出問題的原因!如果有人有任何想法,仍然會對不太冒頭的解決方案感興趣。

相關問題