1 webserver amazon-ec2 amazon-web-services node.js
我正在 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);
Run Code Online (Sandbox Code Playgroud)
EC2 被分配了公共 IP 地址54.187.31.42。我运行该应用程序,打开我的浏览器,连接到54.187.31.42:1223期望提供一个网页,但什么也得不到。
我的服务器代码有什么问题?
我使用在这个答案中找到的片段来检查运行该应用程序的 EC2 的 IP,并奇怪地得到172.31.3.67- 为什么返回的地址与亚马逊分配给机器的地址不同?
因此,尝试连接172.31.3.67:1223也失败。
直接来自亚马逊开发控件,如果这有助于确认这不是服务器 IP 错误或其他问题。

代码看起来不错,尝试连接您在 AWS 控制台中看到的公共 IP/公共 DNS。
尝试以下操作,您的应用程序将起作用:
如果您现在可以访问您的机器,则意味着 iptables 中的某些内容正在过滤您的流量。您可以相应地修改 iptables 规则。
| 归档时间: |
|
| 查看次数: |
4246 次 |
| 最近记录: |