Rails で Blocked host: hogehoge.example.com というエラーが出るときには config.hosts を書き加える

現象

gyazo.com

対策

config/application.rb 内で、config.hosts に対して許可するホストを配列で追加します。

正規表現が使えますし、サブドメインにワイルドカードを用いたい場合は例えば .example.com と指定すれば *.example.com を指定したことになります。

(省略)
module CloudRunSampleRailsApp
  class Application < Rails::Application
    config.load_defaults 6.1

    config.hosts << '.run.app'
    config.hosts << '.heroku.app'
  end
end

原因

Rails.envdevelopment のときにドメイン名でアクセスする際に問題となります*1

※冒頭の例において、Heroku でなんで development で起動しているかということは目をつぶってください

参考

guides.rubyonrails.org

*1:たとえば ngrok 経由でアクセスするなど

Powered by はてなブログ