【问题标题】:Sinatra EC2 Deployment Security Group ErrorSinatra EC2 部署安全组错误
【发布时间】:2013-09-06 01:19:26
【问题描述】:

我正在尝试将 Ruby Sinatra api 部署到 EC2 微实例的端口 4567。

我创建了一个具有以下规则的安全组(并使用所述安全组创建了实例):

--------------------------------
| Ports | Protocol | Source    |
--------------------------------
|  22   | tcp      | 0.0.0.0/0 |
|  80   | tcp      | 0.0.0.0/0 |
|  443  | tcp      | 0.0.0.0/0 |
|  4567 | tcp      | 0.0.0.0/0 |
--------------------------------

我在端口 4567 上绑定了 myapp.rb(默认值,但为了详细):

set :port, 4567

并运行服务:

ruby myapp.rb
[2013-09-05 03:12:54] INFO  WEBrick 1.3.1
[2013-09-05 03:12:54] INFO  ruby 1.9.3 (2013-01-15) [x86_64-linux]
== Sinatra/1.4.3 has taken the stage on 4567 for development with backup from WEBrick
[2013-09-05 03:12:54] INFO  WEBrick::HTTPServer#start: pid=1811 port=4567

在本地主机上的 EC2 实例中使用 ssh 时使用 nmap

Starting Nmap 6.00 ( http://nmap.org ) at 2013-09-05 03:13 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00019s latency).
PORT     STATE SERVICE
4567/tcp open  tram

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

在外部 ip 上的 EC2 实例中使用 ssh 时使用 nmap

Starting Nmap 6.00 ( http://nmap.org ) at 2013-09-05 03:15 UTC
Nmap scan report for <removed>
Host is up (0.0036s latency).
PORT     STATE  SERVICE
4567/tcp closed tram

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

如何将端口的状态从关闭更改为打开?

【问题讨论】:

    标签: ruby amazon-web-services ssh amazon-ec2 sinatra


    【解决方案1】:

    您正在开发环境中启动 Sinatra。在开发中运行时Sinatra only listens to requests from the local machine

    有几种方法可以改变这一点,最简单的可能是在production environment中运行,例如:

    $ ruby myapp.rb -e production
    

    如果您想在开发中继续运行,也可以显式设置绑定变量:

    set :bind, '0.0.0.0' # to listen on all interfaces
    

    【讨论】:

    • 太棒了。 -e production 标志在我的情况下不起作用,但 set :bind, '0.0.0.0' 打开了对端口 4567 的访问。谢谢!
    • @user1296908 你在使用modular style吗?它看起来不像命令行标志适用于模块化风格的应用程序,只有经典风格。如果需要,您可以从命令行设置 RACK_ENV 环境变量,模块化应用程序将遵循该设置。
    【解决方案2】:

    您的问题有两个可能的原因。

    1. 您的服务仅侦听环回接口上的连接。
    2. 软件防火墙正在运行,并在该端口阻止来自外部的连接。

    【讨论】:

    • 是的,我也得出了同样的结论。我只是不知道如何解决它。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-11-08
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2012-12-09
    • 2021-06-10
    相关资源
    最近更新 更多