我将尝试在EC2微型实例的端口4567上部署Ruby Sinatra api。我已创建了一个安全组并添加了以下规则(并使用该安全组创建了实例):
我将myapp.rb绑定到了端口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 |
--------------------------------
我将myapp.rb绑定到了端口4567(默认端口,但为了更加详细):
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
我在 EC2 实例上通过 SSH 登录后,使用 nmap
工具扫描了外部 IP。
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
我该如何将端口状态从关闭改为打开?
RACK_ENV
环境变量,模块化应用程序将会遵循该设置。 - matt