微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

快递应用服务器监听所有接口,而不是仅监听本地主机

如何解决快递应用服务器监听所有接口,而不是仅监听本地主机

如果您在调用时不指定hostapp.listen,则服务器将在所有可用接口上运行,即0.0.0.0

您可以使用以下代码绑定IP地址

app.listen(3000, '127.0.0.1');

解决方法

我对这些东西很陌生,并尝试制作一些快速应用

var express = require('express');
var app = express();

app.listen(3000,function(err) {
    if(err){
       console.log(err);
       } else {
       console.log("listen:3000");
    }
});

//something useful
app.get('*',function(req,res) {
  res.status(200).send('ok')
});

当我使用命令启动服务器时:

node server.js

一切都很好。

我在控制台上看到

listen:3000

当我尝试

curl http://localhost:3000

我看到“好”。

当我尝试

telnet localhost

我懂了

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'

但是当我尝试

netstat -na | grep :3000

我懂了

tcp  0  0 0.0.0.0:3000   0.0.0.0:*  LISTEN

问题是:为什么它监听所有接口而不是仅监听本地主机?

该操作系统是没有任何哨声的linux mint 17。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。