【发布时间】:2017-12-13 10:42:25
【问题描述】:
我在 Amazon EC2 上运行节点应用程序。该应用程序包含一个简单的 Web 服务器,旨在为索引页面提供服务,但它不起作用。
这是服务器代码:
var http = require('http'),
fs = require('fs'),
io = require('socket.io'),
index;
fs.readFile('client.html', function(err, data){
if (err){
throw err;
}
index = data;
});
var server = http.createServer(function(request, response){
response.writeHeader(200,{"Content-Type": "text/html"});
response.write(index);
response.end();
}).listen(1223);
EC2 被分配了公共 IP 地址54.187.31.42。我运行该应用程序,打开浏览器,连接到 54.187.31.42:1223,期望得到一个网页,但什么也得不到。
我的服务器代码有什么问题?
我使用this answer中的sn-p检查运行应用程序的EC2的IP,奇怪的是得到
172.31.3.67- 为什么返回的地址与亚马逊分配给机器的地址不同?
因此,尝试连接到 172.31.3.67:1223 也会失败。
直接来自亚马逊开发控制,如果这有助于确认这不是服务器 IP 错误或其他问题。
【问题讨论】:
-
你的终端或页面是否有错误信息?
-
不,控制台中没有任何连接尝试的迹象。
标签: node.js amazon-web-services amazon-ec2 webserver