amazon-ec2 - 无法访问 EC2 实例上托管的简单节点 Web 服务器
问题描述
无法访问托管在 AWS 中的 ubuntu EC2 上的简单节点 Web 服务器。但我看不到我错过了什么!我在 AWS 中提供了以下屏幕截图 - 我错过了什么?请帮忙!。非常感谢,
节点代码
const http = require('http');
const hostname = '127.0.0.1';
const port = 8080;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
命令提示符
$ node index.js
命令提示响应
Server running at http://127.0.0.1:8080/
EC2 实例
安全设定
弹性 IP 设置
浏览器
http://"Public DNS (IPv4) value":8080/
更新
解决方案
选择类型时,选择“自定义 TCP 规则”:
并在端口范围字段中输入 8080。
编辑
然而,这只能让你部分获得成功。如果您注意到,您的服务器正在侦听 IP 地址127.0.0.1
。这意味着它不听外面的世界,只听外面的世界localhost
。要在服务器计算机之外访问它,您需要将代码更改为:
const http = require('http');
const hostname = '0.0.0.0';
const port = 8080;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
变化是您现在正在“所有接口”上收听,而不仅仅是 localhost。
推荐阅读
- python - 从 Panda 中的列中获取位于前 n% 的值的百分比,例如 25%、50% 等或低于 n%
- r - 基于 R 中最高温度的热波计算
- python - PySpark - 按行和列计数
- dart - 如何在没有可选参数的情况下覆盖子类中的方法?
- python - 没有登录的 Flask 会话(匿名会话)
- javascript - 如何扫描键盘输入以在 javascript 中打印预定义文本?
- php - Azure Web 应用部署默认文档 index.php 内部服务错误
- typescript - 如何使用类方法作为属性初始化器?
- r - 如何在 R 的 Highchart 瀑布图中添加“isSum”栏?
- reactjs - 通过 axios 发送多请求,如果第一次响应 500 则停止所有请求并重定向到登录