📝
RailsのHostAuthorizationによってELBのヘルスチェックがhealthyにならない
ポートフォリオをデプロイする際に発生した問題について、備忘録として投稿します。
発生した問題
Rails6 + AWSで下記の構成のようなアプリを開発していました。
RailsのHostAuthorization
を利用し、/api/health_check
というパスでALBからのヘルスチェックを行おうとしました。
しかし、Railsが403エラーを返し、ヘルスチェックが失敗してしまいました。
原因
Railsの設定は下記のようになっていました。
environments/production.rb
config.hosts << 'base_domain.com'
原因は、
「ヘルスチェック時のホスト名がbase_domain.comでないからエラーになっていた」
というものです。
対策
environments/production.rb
config.hosts << "base_domain.com"
config.host_authorization = {
exclude: -> (request) { request.path == '/api/health_check' }
}
この設定で無事、ALBからのhealthcheckでhealthyになりました!
参考
フリーランスエンジニア必見!
最後に、フリーランスエンジニアの方にご案内です。
あなたに今だけご紹介できる限定の案件があります!
気になる方は公式ラインの追加をお願いします👇
Discussion