2016-04-30 5 views
0

この質問は以前に聞いたことがありますが、私のために修正する提案はありません。この質問は尋ねられ、通常の答えはファイアウォール(チェック)、すべてのインターフェイス(done、.listen(0.0.0.0.0))でリッスンしていることを確認し、私は他のポートを試しました)。LAN上の他のマシンからOS X 10.11上のNode.jsサーバーにアクセスできない

次のノードサーバーを実行していますが、ローカルマシンからローカルホストまたはマシンの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アドレスを入力してもよろしいですか?あなた自身のマシンにpingを試みるかもしれません、ファイアウォールは 'ICMP'パケットをめったにブロックしません。出力を投稿する – Yerken

答えて

0

溶液は理想的ではないが、私はそれを修正。

ポート1337のポート転送ルールをWAN上で追加し、内部IP 192.168.1.148に誘導しました。その後、ネットワーク上の他のデバイスから、私はルータのWAN IPアドレス1337を打つことができ、私はサーバの応答を得る。

このルータ(Linksys EA3500 N750)はあらゆる種類のLANトラフィックをブロックしているようですが、これを無効にする方法はありません(無効にするAP分離設定はありません)。だから私はあなたがウェブ開発をしたら、これはあなたのためのルータではないと言いたいと思いますが、あなたがここであなたの道を見つけたら、それはあなたが働き続けることを可能にする回避策です。

トラブルシューティングのお手伝いをしてくれたおかげで、少なくとも問題がどこから来たのか分かりました。誰もがアイデアを持っているならば、それほどハッキリしないソリューションに興味があるでしょう。

関連する問題