nodejs没有收到转发端口的请求

时间:2015-05-07 08:21:17

标签: node.js dns

我正在尝试让我的路由器将对noip动态DNS发出的请求转发到我的本地计算机,在那里我运行了nodjs,等待端口14555上的请求。

我设置了noip dns,以便本地运行的netcat接收对端口14555(即使用浏览器)的任何调用:

ncat -l -n -v -v -k -p 14555
Ncat: Version 5.59BETA1 ( http://nmap.org/ncat )
Ncat: Listening on 0.0.0.0:14555
Ncat: Connection from xxx.xxx.xxx.xxx:56409.
GET /socket.io/?EIO=3&transport=polling&t=1430939580269-4 HTTP/1.1
Host: someDomain.ddns.net:14555
Connection: keep-alive
...
NCAT DEBUG: Closing connection.
Ncat: Connection from 84.167.116.141:56411.

然而,虽然呼叫似乎通过了所有内容并且到达了我的机器,但节点并没有收听它。它没有收到任何东西:

HTTP server listening at 0.0.0.0:14555/

我的接收服务器配置如下:

var self = this;
// Start the server
this.httpServer = http.createServer(function(req, res){ 
    // Send HTML headers and message
    res.writeHead(200,{ 'Content-Type': 'text/html' }); 
    res.end('<h1>Hello Socket Lover!</h1>');
});

//Listen on the port for HTTP requests
this.httpServer.listen(cfg.port, '0.0.0.0');

console.log('HTTP server listening at 0.0.0.0:' + cfg.port + '/');

P.S。:这个问题最初是在serverfault上提出的,但我被要求将其移到这里。

*编辑1:我做了另一个实验,nginx监听端口80和转发端口80,结果相同:呼叫到达本地计算机上的端口80,但是nginx没有收到它。

1 个答案:

答案 0 :(得分:0)

我最终找到了解决方案。这是我的路由器引起的问题。

请参阅my post on super user了解答案。