如何在Amazon EC2中为Node.js Socket.io打开端口?
我有Node.js应用程序可以在端口上工作:如何在Amazon EC2中为Node.js Socket.io打开端口?,node.js,amazon-ec2,socket.io,Node.js,Amazon Ec2,Socket.io,我有Node.js应用程序可以在端口上工作: server.listen(8181); 因此,当它工作时,文件socket.io应通过以下路径可用: http://152.30.141.23:8181/socket.io/socket.io.js 但我无法访问此文件 我尝试在Amazon控制台中打开安全组中的端口并设置: 入站规则部分中的所有ICMP | Anywhere 0.0.0 但它仍然不起作用 代码很简单: var app = require('express')(), re
server.listen(8181);
因此,当它工作时,文件socket.io应通过以下路径可用:
http://152.30.141.23:8181/socket.io/socket.io.js
但我无法访问此文件
我尝试在Amazon控制台中打开安全组中的端口并设置:
入站规则部分中的所有ICMP | Anywhere 0.0.0
但它仍然不起作用
代码很简单:
var app = require('express')(),
redisServer = require('redis'),
path = require('path'),
time = require('time'),
server = require('http').Server(app),
_ = require('underscore'),
io = require('socket.io')(server);
server.listen(8181);
您不需要为socket.io打开额外的端口,因为它(默认情况下)使用与HTTP服务器相同的端口。“无法访问此文件”是什么意思?你收到了404还是什么?此外,显示相关代码可能会有所帮助,因为这似乎是一个配置/路由问题。是的,我无法通过消息获取此文件的内容:
ERR\u CONNECTION\u TIMED\u OUT
,因此,当我运行应用程序时,它会创建服务器socket.io文件,我尝试获取All ICMP | Anywhere 0.0.0
不会帮助您,因为ICMP!=这几乎可以肯定是一个TCP套接字。您需要一条规则,允许入站TCP从安全组中的任何位置访问端口8181<代码>连接超时正是由于缺少安全组规则而出现的错误。我尝试使用端口8181打开TCP,但没有帮助