KeystoneJS Configuration Error: Please provide a `cookie secret` value for session encryption.
- 2017 8/14
- カテゴリー : KeystoneJS
- コメントを書く
KeystoneJS のアプリを Heroku へ deploy したところ KeystoneJS Configuration Error: Please provide a `cookie secret` value for session encryption. というエラーが発生しました。
原因は、環境変数 COOKIE_SECRET を設定していなかっただけだったのですが、解決方法を詳しくご紹介します。
KeystoneJS Configuration Error
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 です。