我尝试在 AWS t1.micro 实例上运行“Hello world”服务器。我做了什么:
- 我在 aws 上安装了 Node
- 写了这样的东西:
require("http").createServer(function(request, response){
response.writeHeader(200, {"Content-Type": "text/plain"});
response.write("Hello World!");
response.end();
}).listen(8080);
- 在 aws 上运行:node test_server.js
现在我尝试像这样从我的本地机器向服务器发送请求:
curl http://NAME:8080
其中 NAME 是来自 aws 控制台的公共(public) DNS 名称,但没有任何反应。
我忘了什么?或者我做错了什么
我试图寻找某种教程,但他们描述了如何在本地机器上运行它或建议设置 Ngnx。但我寻找极简主义的例子
最佳答案
您需要告诉亚马逊授权 8080 端口上的入站流量到您的实例。请参阅 step by step instructions 的文档.
简而言之:
- 转到 Amazon EC2 控制台,单击Instance 并打开Security Group 首选项面板
- 添加新规则,授权来自端口 8080 上的任何 IP (
0.0.0.0/0
) 的入站流量 - 应用更改:Node 网络服务器现在应该能够处理 HTTP 请求。
关于javascript - AWS 上的 Node JS "Hello world"服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998224/