2014-09-26 101 views
0

我在AWS上设置了一个微型EC2实例。目前,我正在使用俄勒冈州的免费套餐。我面临两个问题。拒绝连接到亚马逊EC2上的socket.io服务器的连接

  1. 当我尝试使用公共DNS通过SSH的情况下,它说主机不存在,但是当我尝试使用公共IP conencting它,它连接到它。需要什么设置才能使用公共DNS?

  2. 我使用IP地址打开了SSH客户端。我想设置需要Node.js和MongoDB的应用程序。我的Node.js使用this 接下来,我用this 然后我连接到使用Filezilla我的实例,并上传了我的代码,将其安装MongoDB的安装。然后我启动使用socket.io的节点应用程序。

当我尝试使用网络浏览器连接到socket.io服务器时,出现一条消息,指出连接被拒绝“错误111”。我在实例的安全组中打开了TCP端口80。在iptables中,我将端口80转发到8080,但仍然无法工作。我也检查过在ec2中禁用了防火墙。请帮我解决这个问题。

回答

0

您是否检查亚马逊安全策略是否打开了所有必需的端口?

你可以做的是让亚马逊的安全策略对所有流量测试,看看是否连接顺利与否。

您可能还会检查是否需要从外部访问数据库。在这种情况下,您还必须打开mongodb端口并正确设置mongodb。

其他工具可能有用的测试防火墙和连接问题将是tcpdump和syslog文件

对于DNS问题,你尝试与nslookup那个名字,看看如果显示的IP匹配您的服务器的IP?

亚马逊给出了服务器长DNS主机名,我总是用我自己的域名。这很容易。 例如:ec2.domainname.com,指向亚马逊IP地址

希望可以帮助。

0

我的问题现在已解决.. 对于DNS问题,我之前需要代理才能访问互联网,所以我猜DNS名称没有得到解决。当我尝试使用代理免费互联网时,我能够使用公共DNS进行ssh。

和关于连接socket.io,我用8080端口,而不是80,并使用“sudo的节点main.js”运行我的节点文件。现在我可以连接到socket.io服务器和MongoDB。 我想问的另外一件事是,使用sudo权限运行节点文件会产生一些安全问题?

0

感谢您的回答!这也适用于我。我尝试通过套接字(http://myipaddress:3000)连接到node.js服务器时遇到了同样的问题,我尝试打开实际的ec2实例上的端口并通过SSH禁用防火墙,但没有任何工作。必须去ec2控制台上的安全组,并打开一个新的入站tcp规则启用该端口

相关问题