gpt4 book ai didi

javascript - express 应用服务器。只听所有接口(interface)而不是本地主机

转载 作者:IT老高 更新时间:2023-10-28 22:05:54 24 4
gpt4 key购买 nike

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

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

问题是:为什么它会监听所有接口(interface)而不是只监听 localhost?

操作系统是 linux mint 17,没有任何口哨声。

最佳答案

如果您在调用 app.listen 时未指定主机,服务器将在所有可用的接口(interface)上运行,即在 0.0.0.0

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

app.listen(3000, '127.0.0.1');

如果您想在所有界面中运行服务器,请使用以下代码

app.listen(3000, '0.0.0.0');

app.listen(3000)

关于javascript - express 应用服务器。只听所有接口(interface)而不是本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33953447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com