expressjs代码仅列出在tcpv6端口而不是ipv4
环境是: – Ubuntu 14.04
我的节点版本是: –
node --version v6.9.4
这是我的代码。
// dependencies :- var express = require ('express'); var mongoose = require ('mongoose'); var bodyParser = require ('body-parser'); var app = express(); app.use(bodyParser.urlencoded({extended: true}) ); app.use (bodyParser.json()); // routes : api=require('./routes/api'); app.post('/register',api.register); app.post('/authenticateUser',api.authenticateUser) app.post('/update',api.updateUser); //start server app.listen (8070); console.log('Server Started & listing at 8070 ');
它在IPv4和IPV6上列出,直到2天前我的代码工作正常。
但现在一路之间似乎快递代码只是在tcp6(IPv6)上列出。 谷歌search,但有人在0.xx面临这个问题
这是terminal的输出
xxx@ubuntu:~$ netstat -a | grep 8070 tcp6 0 0 [::]:8070 [::]:* LISTEN
我的代码似乎是完美的。任何想法或任何线索发生什么系统?
接口的输出是: –
eth0 Link encap:Ethernet HWaddr 00:0c:29:d1:ce:56 inet addr:192.168.0.13 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fed1:ce56/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:26221 errors:0 dropped:0 overruns:0 frame:0 TX packets:10916 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:27443150 (27.4 MB) TX bytes:1365295 (1.3 MB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:9366 errors:0 dropped:0 overruns:0 frame:0 TX packets:9366 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5748317 (5.7 MB) TX bytes:5748317 (5.7 MB)
经过更多调查,我自己find了原因。
看来在我的系统上,当我在Windows机器上运行Ubuntu VM时,Windows IPv6被禁用,并且在VM上未被禁用。
在ubuntu机器上禁用IPV6一切正常。