KeystoneJS Configuration Error: Please provide a `cookie secret` value for session encryption.
KeystoneJS のアプリを Heroku へ deploy したところ KeystoneJS Configuration Error: Please provide a cookie secret
value for session encryption. というエラーが発生しました。
原因は、環境変数 COOKIE_SECRET を設定していなかっただけだったのですが、解決方法を詳しくご紹介します。
Please provide a cookie secret
value for session encryption. と書かれているとおり、Cookie のシークレットが環境変数にセットされてないためサーバーエラーが発生していたようでした。
エラーメッセージ
app[web.1]: Please provide a `cookie secret` value for session encryption.
app[web.1]: KeystoneJS Configuration Error:
app[web.1]:
heroku[web.1]: State changed from starting to crashed
heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=yourapp.herokuapp.com request_id=ea5e5a58-56bb-4d49-a78d-accc4f13962e
開発環境では .env ファイルに記載されている COOKIE_SECRET という値を、本番環境でも環境変数をセットして、サーバーを restart すれば解決します。
COOKIE_SECRET=YOUR_COOKIE_SECRET_XXX
今回の場合は Heroku アプリなので、
heroku restart --app your_app_name
というような command で再起動すれば OK です。