我刚刚启动了一个新的 AWS EC2 实例。在实例的安全组中,我添加了一个新规则来打开端口 8080。根据另一篇文章,我还停止了实例上的 iptables 服务。所以理论上这个端口应该是敞开的。
我在 8080 上启动了我的 RESTful 服务,并且能够通过 curl 在本地访问它。
当我远程使用 curl 时,我收到一条错误消息,说它无法连接到主机。
我还应该检查什么以查看 8080 是否真正打开?
我刚刚启动了一个新的 AWS EC2 实例。在实例的安全组中,我添加了一个新规则来打开端口 8080。根据另一篇文章,我还停止了实例上的 iptables 服务。所以理论上这个端口应该是敞开的。
我在 8080 上启动了我的 RESTful 服务,并且能够通过 curl 在本地访问它。
当我远程使用 curl 时,我收到一条错误消息,说它无法连接到主机。
我还应该检查什么以查看 8080 是否真正打开?
我在 8080 上启动了我的 RESTful 服务,并且能够通过 curl 在本地访问它。
你的 RESTful 服务基于什么样的技术?
如今,许多框架仅在localhost ( 127.0.0.1
) 上侦听,无论是默认情况下还是通过它们的示例,例如,请参见规范的Node.js之一(无论如何,我意识到端口8080
提示 Java/Tomcat):
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
通过启动它生成的日志消息是Server running at http://127.0.0.1 : 1337 / - 强调的部分是这里的关键,即服务器已配置为127.0.0.1
仅侦听 IP 地址,而您正在尝试连接到它通过您的公共Amazon EC2 IP 地址。