0

我确实将所有需要的包和 node.js 安装到专用机器 Windows 2008 Server。

 var http = require('http');
 var port = 1337;
 http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
 }).listen(port, '127.0.0.1');
console.log('Server running at http://127.0.0.1:' + port );

因此,当我调用 http://local.host:1337/时,我会得到“Hello World” 但是如果尝试从另一台机器调用此服务: http://my.domain.ip.address:1337/ 哎呀,我可以什么也看不见。我已经完全关闭了防火墙

谢谢,所有的建议

4

1 回答 1

2

侦听localhost127.0.0.1仅允许响应从同一台计算机向该特定 IP 或主机名发出的请求。

要让您的应用程序响应对多个 IP 地址的请求,您需要监听每个请求。您可以单独执行此操作。

function server(req, res) {
    // ...
}

http.createServer(server).listen(port, '127.0.0.1');
http.createServer(server).listen(port, 'my.domain.ip.address');
http.createServer(server).listen(port, '<any other public facing IP address>');

或者,您可以在非特定元地址中收听IPADDR_ANY( )。0.0.0.0而且,这是hostname参数的默认值,因此您只需指定port.

http.createServer(function (req, res) {
    // ...
}).listen(port);
于 2013-09-07T23:32:47.010 回答