This page looks best with JavaScript enabled

【Rails】スマホからローカルにアクセスする

 ·   ·  ☕ 2 分で読めます
✏️

まず、パソコンとスマホで同じWi-Fiに繋ぐ。
システム環境設定→ネットワークのWi-Fiの設定で自分のIPアドレスを確認できる。

ネットワーク設定

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$ rails s -b 192.168.20.36

=> Booting Puma
=> Rails 6.0.3.2 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.5 (ruby 2.6.3-p62), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://192.168.20.36:3000
Use Ctrl-C to stop

http://192.168.20.36:3000/にアクセスする。
が、しかし以下のようなログが表示される。

Started GET "/" for 192.168.20.36 at 2020-08-28 14:42:58 +0900
Cannot render console from 192.168.20.36! Allowed networks: 127.0.0.0/127.255.255.255, ::1
Processing by HomeController#index as HTML
  Rendering home/index.html.erb within layouts/application
  Rendered home/index.html.erb within layouts/application (Duration: 0.0ms | Allocations: 5)
[Webpacker] Everything's up-to-date. Nothing to do
Completed 200 OK in 7ms (Views: 6.7ms | ActiveRecord: 0.0ms | Allocations: 3956)

192.168.20.36からのアクセスは許可されていないよ!ということです。
アクセスできるIPアドレスを指定しなければならないので、config/environments/development.rbで自分のIPアドレスとスマホのIPアドレスをホワイトリスト形式で許可する。
0.0.0.0を指定する方法もあるが、この方法の場合、全てのIPアドレスからのアクセスを許可するのでちょっと怖い。

Huaweiの場合は、設定→端末情報→端末の状態→IPアドレスで確認できる。

IPアドレス

1
2
3
4
Rails.application.configure do
  ...
  config.web_console.whitelisted_ips = '192.168.20.36', '192.168.20.20'
end

再度rails s -b 192.168.20.36

参考

Share on

END
END
@aiandrox

目次