我有一个 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/