背景・問題点
やっとの思いでバージョンアップしてステージング環境にデプロイ。
実行して、ブラウザからアクセスしたら、BadRequest(400)エラー発生。はぁ・・・。
Host not allowed
原因
Play2.6では AllowedHostsFilter
がデフォルトで有効で、アクセス許可されているのはlocalhost
と.local
だけ。
このため実サーバにデプロイして外部からアクセスするとエラーになる。という仕組み。
移行ガイドにも珍しくしっかり書かれていたのですが、ローカルでは動いていたので、見落としました。汗
play.filters {
hosts {
allowed = ["localhost", ".local"]
}
対処
上述したplay.filters.hosts.allowed
にホスト名もしくはIPアドレスを設定します。
なおELBヘルスチェックを使う場合は、全許可['.']
にする必要があります。