2016-02-26 247 views
-1

我一直在试图建立一个暴露的REST API(通过Crest,然后睡猫猫)的MongoDB数据库,但这些都没有工作。我试图做一个“我可以连接到AWS的机器吗?”的最小健康测试,所以这是我的尝试:AWS:无法连接到亚马逊实例

1)我建立了一个新的亚马逊实例(Ubuntu 14.04),我确信所有传入的TCP连接都被接受。

2)我试着运行sudo python -m SimpleHTTPServer 80

3)当登录到机器并执行curl http://localhost:80/curl http://XX.XX.XX.XX:80/(当然,机器的IP地址被替换)时,这起作用。但是,在我的本地机器上,该命令刚超时。

我真的很期待这里的任何指导,所以我可以回到原来的样子(MongoDB,公开一个REST API等)。真的非常感谢任何建议,因为这一直让我疯狂!

+1

您是否浏览过[故障排除页面](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)? – randominstanceOfLivingThing

+0

我以前没有,但我成功地能够连接(登录)到实例,而不是通过TCP/IP连接(这是我的意思是“我可以连接到AWS机器吗?”)。我对此感到抱歉! –

回答

0

这可能是一个安全组问题。 在机器上执行curl http://XX.XX.XX.XX:80/时,您是否尝试使用内部IP(172.x.x.x/10.x.x.x/192.x.x.x)或外部IP? 此外,机器是否有外部IP分配? (我猜是这样,否则只能从同一子网中的另一台计算机访问)。

转到AWS控制台,打开实例详细信息并检查实例的安全组。端口80是否对全世界开放(0.0.0.0/0)?

+0

我一直在做内部IP地址,这可能是为什么它工作;我以前没有尝试过外部IP地址,但我刚刚尝试过,并且挂起(如预期的那样)。以下是当前入站规则的屏幕截图:[截图](http://i66.tinypic.com/4g4652.png)。 –

+0

以无法解释的方式,crest和所有其他TCP/IP依赖活动似乎现在似乎正在开展工作。不知道这是只是滞后还是我自己的错,但谢谢@ bert-jan-schrijver! –