我正在尝试让我的路由器将对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没有收到它。