node.js - Node.js服务器没有响应

标签 node.js unix networking express

我有一个 Node.js API,我已经在该 API 上工作了一段时间,并且正在尝试将其部署到我的服务器上。

在本地,我已经能够毫无问题地运行它, Node 版本v0.10.32

$ sudo netstat -ntlp | grep LISTEN
tcp   0   0  0.0.0.0:80         0.0.0.0:*         LISTEN      19091/nginx
tcp   0   0  0.0.0.0:3333       0.0.0.0:*         LISTEN      12594/node
tcp   0   0  127.0.0.1:27017    0.0.0.0:*         LISTEN      22091/mongod

我将项目上传到我的服务器上(相同的 Node 版本),日志中没有显示错误,该过程似乎监听端口 3333。但是当我执行 domain.name:3333 时,我没有得到答案。正如您在上面看到的, Node 进程正在监听 0.0.0.0 接口(interface),因此这似乎不是问题。

domain.name:80 工作正常,nginx 响应良好。

$ nmap domain.name
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
3333/tcp open  dec-notes
$ sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

外部(我的个人电脑)的 nmap 没有显示端口 3333

有人知道问题出在哪里吗?

最佳答案

终于找到问题所在了。

我必须更改 /etc/bind/named.conf.options 中的绑定(bind)设置

它仅在 127.0.0.1 上监听。要解决此问题,只需更改以下行:

listen-on { 127.0.0.1; };

listen-on { any; };

关于node.js - Node.js服务器没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190146/

相关文章:

node.js - 如何确信 websocket 是安全的

java - 在 Spring Boot 应用程序中将日志写入 Unix 框

python - python中ICMPv6的校验和计算

node.js - 如何处理生产中express中的http错误?

node.js - 如果 root 的主要版本与依赖项不同,如何删除重复的 npm 包

linux - 检查已安装的信号处理程序

bash - 我可以在不获取变量的情况下将变量从 Bash 脚本导出到环境吗?

c++ - P2P 连接的 NAT 穿越实现

c++ - 非阻塞发送功能

node.js - 如何调试因 ETIMEDOUT 失败的请求 promise