4

我刚刚启动了一个新的 AWS EC2 实例。在实例的安全组中,我添加了一个新规则来打开端口 8080。根据另一篇文章,我还停止了实例上的 iptables 服务。所以理论上这个端口应该是敞开的。

我在 8080 上启动了我的 RESTful 服务,并且能够通过 curl 在本地访问它。

当我远程使用 curl 时,我收到一条错误消息,说它无法连接到主机。

我还应该检查什么以查看 8080 是否真正打开?

4

1 回答 1

0

我在 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 地址

于 2013-04-24T08:06:04.860 回答