【发布时间】:2011-11-16 07:02:12
【问题描述】:
我将 node.js 部署到 Amazon EC2 Windows 实例。这是我运行的js代码:
require('http').createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(80);
当我访问 http://localhost 时它运行良好 但是当我尝试通过外部 IP 访问服务器时它不起作用:http://[external IP]
当我运行“netstat -ano”时,我可以看到这一行:
0.0.0.0:80
如果我运行 IIS,那么它会添加两行
0.0.0.0:80
[::]:80
[::] 是什么意思?为什么我运行 node.js 时没有添加它?我认为,这就是为什么 node.js 不向外部 IP 提供请求的原因。如何让 node.js 在 Windows 上运行?
【问题讨论】:
-
该 IIS 行用于 IPv6。试试听(80,'::')。但也许只是你的防火墙配置不够宽松。
-
谢谢jh!你回答了这个问题。 node.exe 被 Windows 防火墙阻止。
标签: windows node.js amazon-ec2