見出し画像

【初学者向け】Rails6系でのドメイン名の追加と、hostsファイルとの関係について

ドメイン名を変更しよう

Railsの初期のドメインは、
http://localhost:3000/ですよね。
では、このドメイン以外、
http://foo.com:3000のように、
http://{#任意の文字}:3000でアクセスできる方法を紹介します。

ローカルの環境内のhostsファイルを編集する

cd /private/etc
vim hosts
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost #追記したいドメイン名を下に追記する 
127.0.0.1 foo.com bar.com

このようhostsファイルを編集しましょう。
しかし、注意点があります。

6系の注意点

rails 6系の場合ドメイン名の制限があり、デフォルトではlocalhostのみが許可されてます。言い換えれば、このままだとエラーがでます。
よって、追加したドメイン名を許可するようにします。

config/initializers
touch blocked_hosts.rb
Rails.application.configure do
 config.hosts << "foo.com"
 config.hosts << "bar.com"
end

blocked_hosts.rbを作り、この中に、追加したいドメイン名を記すことによって、アクセスできるようになります。

応用Dockerに関して

Railsは初期状態は127.0.0.1 しか受け入れないようになっている。
上記 のhostsファイルに記されています。
このままだとDockerなどの環境で応答できません。
そこで、development.rb を変更しましょう。

  config.web_console.whitelisted_ips = [ "172.16.0.0/12" ]
(172.16.0.0から172.31.255.255までのアドレスを受け入れるようにする)

サーバー起動の注意点

Rails sのみコマンドすると、
デフォルト値のみしか応答しません。
もう、何度も出てきましたね。
この場合のデフォルト値は127.0.0.1です。
よって、

rails s -b 0.0.0.0

とすることによって、全てのIPアドレスからアクセスできるようになります

参考文献

Ruby on Rails 6 実践ガイド

最後に

このブログはqiitaで記事を発表する前に、どんどん書いていく用のブログです。
この記事は5つ目です。
最後まで読んで下さりありごがとうございます。
よければ、♡ボタンをポチって下さい!!











この記事が気に入ったらサポートをしてみませんか?