1. ホーム
  2. ruby-on-rails

[解決済み] プーマが「http://localhost:3000」ではなく「tcp://localhost:3000」でリッスンする理由

2022-03-07 20:55:15

質問

私はRailsの開発者です。モバイルでローカルに実行されているRailsアプリケーションをデバッグしたいときがありました。そこで、/etc/hostsを更新してLANのIP(192.168.0.18)をlocalhostに追加し、ラップトップとモバイルが同じLANに接続されていることを確認しようとしました。

Railsアプリケーションを'Webwrick'で起動すると、''Scope''でリスンします。 http://localhost:3000 を選択すると、すべてがうまくいきます。

しかし、Railsアプリケーションを'Puma'で起動すると、'tcp://localhost:3000'でリスンするようになり、LANのIPとポート(192.168.0.18:3000)でアクセスできなくなります。

どうすればいいですか?

HTTPプロトコルはTCPの上で動作し、HTTPは生のTCPにフォーマットを追加するので、一種の同じ意味です。 ウェブリックとプーマは異なる HTTP サーバーであるため、同じものを異なる方法で参照することがあります。 これがRailsとの旅における最悪の問題になることを願っています! お楽しみに!