Недавно я развернул приложение и получил внутреннюю ошибку сервера из-за отсутствия производства secret_key_base. После нескольких часов тестирования мне удалось решить эту проблему двумя способами:
Метод 1:
Я сгенерировал новую secret_key с rake secret
и заменил ее на <%= ENV["SECRET_KEY_BASE"] %>
в secrets.yml
. Развернутое приложение снова и на этот раз оно сработало. Но я считаю, что этот метод неверен.
Метод 2:
Я сгенерировал новый secret_key с rake secret
и добавил его к environments/production.rb
как config.secret_key_base = 'd1f4810e662acf46a33960e3aa5bd0************************
, не меняя secrets.yml
(по умолчанию - production: <%= ENV["SECRET_KEY_BASE"] %>
). Развернутое приложение снова, и он работает нормально.
Мои вопросы:
- Какой метод лучше?
- Если второй метод верен, почему рельсы по умолчанию не генерируют secret_key_base в production.rb?
- Есть ли другой способ сделать это?