我试图与Facebook的实时更新工作,但我有困难给Facebook一个callback地址,他们可以使用。 我的开发机器在防火墙后面,所以我想使用ec2实例将stream量转发到开发机器。
目前进展情况:
应用程序已启动并在本地主机上运行:
http://0.0.0.0:5000
在ec2上创build了Ubuntu 10.11实例
授权ec2实例上的端口
localhost$ec2-authorize default -p 5000 localhost$ec2-authorize default -p 22
在ec2上configurationsshd
localhost$ssh -i ubuntu@ec2_public_dns -i ~/.ssh/ec2_key_pair.pem ec2$sudo echo "AllowTcpForwarding yes" >> /etc/ssh/sshd_config ec2$sudo echo "GatewayPorts yes" >> /etc/ssh/sshd_config ec2$sudo /ect/init.d/ssh restart
启动SSH隧道
localhost$ssh -R0.0.0.0:5000:localhost:5000 ubuntu@ec2_public_dns -i ~/.ssh/ec2_key_pair.pem
在浏览器中testing它
http://ec2_public_dns:5000
但没有任何反应:(请求只是超时。任何想法我做错了什么?
谢谢!
进展
好的,我在本地机器上的Web服务器上取得了一些进展。 在我ssh之后,我可以使用curl从提示符中获取主页:
localhost$ssh -R0.0.0.0:5000:localhost:5000 ubuntu@ec2_public_dns -i ~/.ssh/ec2_key_pair.pem ec2$curl localhost:5000 <!DOCTYPE html> <html> ... </html>
它甚至可以与ec2中的ec2_public_dns一起使用:
ec2$curl ec2-23-20-132-36.compute-1.amazonaws.com:5000 <!DOCTYPE html> <html> ... </html>
但是,它不能从我的本地开发机器连接:
localhost$curl ec2-23-20-132-36.compute-1.amazonaws.com:5000 curl: (7) couldn't connect to host
@spinlock:你从来没有回来要求你的答案,但访问规则打击我作为第一种可能性无论如何。 我绝对推荐任何使用EC2的人,一开始就要花一些时间在安全组的东西上,这是非常有用的。 为了任何人的search,spinlock的答案是:
好吧,我知道我错了什么地方。 当我创buildec2实例时,我select了“快速启动”,因为我想我只需要一个简单的unix,它已经运行了sshd。 问题是,这会创build一个名为“quicklaunch-1”的单独安全组。
所以这样做:
localhost$ ec2-authorize quicklaunch-1 -p 5000