无法从浏览器访问用于ubuntu实例的AWS公共DNS

时间:2017-07-30 05:54:59

标签: amazon-web-services ubuntu dns

我对AWS比较陌生,过去几天我一直在寻找一些教程,试图找出如何通过浏览器访问我的AWS ubuntu实例。

我做了什么:

第1步:我将安全组配置为接受ssh,http,https的所有流量,以查看实例中列出的公共DNS是否可访问。

第二:我将我的实例的IP更改为弹性IP

第三:我写了一个简单的node.js文件,它监听端口:9000和console.logs' hello world'

由于某些原因ssh工作,我可以运行我的node.js文件,但agina我无法从浏览器访问远程实例。

任何帮助都会受到高度赞赏,因为我已经在这几天了。

谢谢!

感谢大家的快速回复!

我的问题是我没有在我的特定端口中包含TCP规则。现在我可以通过ec2-DNSNAME:9123访问该端口。

而且,只是为了澄清一下,如果我想为所有流量托管该DNS,我应该指定'任何地方'对于TCP规则,正确吗?

3 个答案:

答案 0 :(得分:1)

  

我将安全组配置为接受ssh,http,https

的所有流量

在安全组中,“HTTP”表示“任何端口上的HTTP”...表示“TCP端口80上的任何流量” - 80是标准IANA assigned port用于HTTP。

安全组不知道您传递的流量类型,只知道IP协议(例如TCP,UDP,ICMP,GRE等)和端口号(对于使用端口号的协议)以及任何协议特定信息(ICMP消息类型)。

您需要一个允许流量到端口9000的规则。

答案 1 :(得分:0)

首先转到您的EC2,看看curl http://localhost是否有效..

另外,如果您在端口9000上公开您的nodejs;您是否也在安全组上打开了9000?

答案 2 :(得分:0)

很少有事情要检查:

  • 安全小组
  • 子网NACLS(这些可以充当子网级别 防火墙,但除非你搞砸了这些,否则他们应该允许所有人 流量)。
  • 如果您运行netstat -na | grep <PORT>,在服务器上,您是否看到了 应用程序在正确的端口上侦听?
  • 您还可以检查系统中是否存在可能导致请求短路的防火墙。

如果以上内容未指出您的问题所在,您可以抓取tcpdump并仅针对来自您的网络浏览器的请求进行过滤(例如,在安装tcpdump -vvn host 10.20.30.40 port 8000后替换您的IP和端口) 。如果您遇到网络问题(数据包未到达服务器)或者是应用程序的内容,这将告诉您。

我还建议您在进行初步故障排除时使用IP地址。这样我们就可以在进入DNS之前建立它不是网络/服务器配置。