我试图在我的VPS上运行nodejs应用程序但是出于某种原因我收到了ERR_CONNECTION_TIMED_OUT错误。
这是我的代码:
const http = require('http');
const server = http.createServer((req, res) => {
res.end();
});
server.on('clientError', (err, socket) => {
socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
});
server.listen(8000);
当我cd到我的目录并执行
时node index.js
,它没有给我任何错误,但是去浏览器做:mysite.com:8000
什么也没给我。连接超时
编辑:
当我做curl: enomshop.tk:8000
时,我会得到一些反馈。它就像我可以从VPS内部访问但没有公开访问
答案 0 :(得分:3)
这是解决此类问题的方法
检查流程是否正在运行
运行ps aux | grep <process>
以检查您的流程是否正在运行
检查端口是否正在使用
运行sudo netstat -plant | grep <port>
以检查端口是否正在侦听,这是您的过程
检查服务是否在本地响应
运行telnet 127.0.0.1 <port>
并确保收到回复。如果您没有收到回复,那么您可以查看的问题很少
检查服务是否在外部响应
您可以执行telnet <external ip> <port>
,如果它不起作用,那么您应该检查以下几项
0.0.0.0
或<private ip>
而非127.0.0.1
<port>
进行通信。这对每个服务提供商来说都是不同的如果您按照这些步骤操作,它将解决此类情况下的大多数常见网络问题
答案 1 :(得分:0)
我遇到了同样的问题。要解决此问题,只需打开/允许从网络安全组(VPS)或防火墙到全球访问的端口。
并检查telnet mysite.com port
,它对我有用。如果您仍然遇到任何问题,请告诉我,我会尽力帮助您。
答案 2 :(得分:-1)
您需要打开VPS上的8000端口或将流量从VPS上的任何开放端口重定向到8000