ruby on rails:heroku:在'生产'环境中缺少`secret_key_base`

问题描述 投票:3回答:2

我将密钥添加到heroku config var中,但我仍然收到错误。

这是正确的方法吗?我忽略了secrets.yml,因为我从其他来源读到,将这个推向公众并不是一个好主意。

在heroku配置var:

[key] SECRET_KEY_BASE
[value] 3280570382948240938

在secrets.yml

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

我还做错了什么?

此外,如果我将我的密钥放入heroku的配置变量中,其他开发人员也不会看到这个吗?那么,还不是那种公众吗?我一直想知道这个概念。

ruby-on-rails ruby ruby-on-rails-4 heroku environment-variables
2个回答
6
投票

你可以用heroku config设置环境变量

首先在终端上运行以下命令生成密钥

rake secret

现在在下面的命令中使用该键

heroku config:set SECRET_KEY_BASE='put here new generated key'

您可以参考此链接以获取更多参考

https://devcenter.heroku.com/articles/config-vars


0
投票

这是一个用heroku设置密钥库的简单方法:

heroku config:set SECRET_KEY_BASE=$(rake secret)

你可以用heroku config:get SECRET_KEY_BASE看到它

并检查导轨是否使用Rails.application.secret_key_base(例如在heroku run rails console中)

© www.soinside.com 2019 - 2024. All rights reserved.