UbuntuサーバーのパブリックIPを使用してブラウザからRailsにアクセスすることはできません。

UbuntuサーバーのパブリックIPを使用してブラウザからRailsにアクセスすることはできません。

Ubuntu 16.04.1 LTS(GNU/Linux 4.4.0-63-generic x86_64)サーバーがあり、パブリックIPは183.xx.xxx.xx(curl -4 icanhazip.com)と同じです。次のコマンドを使用してRailsアプリケーションを起動しました。

rails s -b0.0.0.0 -p3002

プーマサーバーが正常に起動しました

    => Booting Puma
    => Rails 5.0.3 application starting in development on http://localhost:3002
    => Run `rails server -h` for more startup options
    Puma starting in single mode...
    * Version 3.9.1 (ruby 2.4.0-p0), codename: Private Caller
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://0.0.0.0:3002
    Use Ctrl-C to stop

以下を使用してブラウザから自分のアプリケーションにアクセスしようとしています。

 http://183.xx.xxx.xx:3002

入っています(状態

This site can’t be reached
172.xx.xxx.xx took too long to respond.
ERR_CONNECTION_TIMED_OUT    

どんな助けでも大変感謝します。よろしくお願いします!

編集1

netstat -plnt

    tcp        0      0 0.0.0.0:45109           0.0.0.0:*               LISTEN      -
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -
    tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -
    tcp        0      0 0.0.0.0:3002            0.0.0.0:*               LISTEN      25689/0.0.0.0:3002)
    tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -

プロセスはpid 25689として実行されています。

ベストアンサー1

まず、iptablesを確認してみましょう。 ouを実行すると、iptables -L次のような内容が表示されます。

ACCEPT     tcp  --  anywhere    anywhere   tcp dpt:3002 ctstate NEW

これは、ファイアウォールがそのポートへの接続を許可することを意味します。そうでない場合は、次を使用してポートにアクセスするルールを追加してみてください。

sudo iptables -A INPUT -p tcp --dport 3002 -j ACCEPT

おすすめ記事