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一切正常。