当前位置: 首页 > 面试题库 >

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

葛修永
2023-03-14
问题内容

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

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。


问题答案:

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

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

app.listen(3000, '127.0.0.1');


 类似资料:
  • 当我运行Quarkus应用程序时,它默认只侦听/绑定本地主机。 我如何改变这种行为?

  • > 在netstat中,端口只监听环回地址 [root@elk~]#netstat-tnlpu | grep 9200 tcp6 0 0 127.0.0.1:9200:::*侦听14968/java tcp6 0 0::1:9200:::*侦听14968/java

  • 问题内容: 我正在使用本机android并遇到问题将应用程序部署在android设备上。当我跑步 react-native启动,它不会在端口8081上启动dev服务器 我尝试了以下几种方法: 1)https://facebook.github.io/react- native/docs/troubleshooting.html 2)尝试停止在端口号8081上运行的进程,但未成功 我的问题是我们可以

  • 问题内容: 我在运行RHEL7的Amazo EC2实例上运行elasticsearch 1.4和kibana4。 Kibana4作为独立进程运行,未部署在诸如nginx之类的Web容器中,它正在侦听端口5601(默认端口)。我想让kibana在80端口监听。 是否可以不使用nginx来实现?如果是,怎么办? 问题答案: 编辑文件{kibana-directory} /config/kibana.y

  • 本文向大家介绍Oracle监听口令及监听器安全详解,包括了Oracle监听口令及监听器安全详解的使用技巧和注意事项,需要的朋友参考一下 很多Oracle用户都知道,Oracle的监听器一直存在着一个安全隐患,假如对此不设置安全措施,那么能够访问的用户就可以远程关闭监听器。 相关示例如下: 命令执行成功 大家可以发现,此时缺省的监听器的日志还无法记录操作地址: 有鉴于此,为了更好的保证监听器的安全,

  • 问题内容: 是否可以在一个应用程序中绑定和侦听Linux中的多个端口? 问题答案: 对于您要收听的每个端口,您: 使用创建一个单独的套接字。 将其绑定到适当的端口。 调用套接字,以便它设置一个侦听队列。 那时,您的程序正在侦听多个套接字。为了接受这些套接字上的连接,您需要知道客户端要连接到哪个套接字。就是这样。碰巧的是,我有代码可以完全做到这一点,所以这是一个完整的经过测试的示例,它等待多个套接字