我有rails应用程序.如果我用rails s(端口3000)启动它,它可以在我的机器和本地网络上的每个设备上通过ip地址(在我的情况下为192.168.0.3)完美地工作.
我有sinatra申请.如果我使用ruby app.rb(端口4567)启动它,它在我的机器上完美运行,但它无法从我本地网络上的其他设备访问.

两个应用程序都使用Thin作为应用服务器.
这与sinatra如何运作有关吗?
我刚刚在一个安全组后面的全新AWS账户上创建了一个EC2实例,并在其上加载了一些软件.我在端口4567(当前)上运行Sinatra,并在我的安全组中将该端口打开到全世界.此外,我能够进入EC2实例,但我无法连接端口4567.我使用公共IP连接:
shakuras:~ tyler$ curl **.***.**.***:22
SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.1
curl: (56) Recv failure: Connection reset by peer
shakuras:~ tyler$ curl **.***.**.***:4567
curl: (7) Failed connect to **.***.**.***:4567; Connection refused
Run Code Online (Sandbox Code Playgroud)
但我的网络服务器正在运行,因为当我从localhost卷曲时我可以看到该网站:
ubuntu@ip-172-31-8-160:~$ curl localhost:4567
Hello world! Welcome
Run Code Online (Sandbox Code Playgroud)
我以为它可能是防火墙,但我运行iptables并得到:
ubuntu@ip-172-31-8-160:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Run Code Online (Sandbox Code Playgroud)
我很失落这里发生的事情.为什么我不能与外界联系?