hel*_*llo 4 ruby ruby-on-rails heroku environment-variables ruby-on-rails-4
我将密钥添加到heroku config var中,但我仍然收到错误.
这是正确的方法吗?我忽略了secrets.yml,因为我从其他来源读到,将这个推向公众并不是一个好主意.
在heroku配置var:
[key] SECRET_KEY_BASE
[value] 3280570382948240938
Run Code Online (Sandbox Code Playgroud)
在secrets.yml
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Run Code Online (Sandbox Code Playgroud)
我还做错了什么?
此外,如果我将我的密钥放入heroku的配置变量中,其他开发人员也不会看到这个吗?那么,还不是那种公众吗?我一直想知道这个概念.
你可以设置环境变量 heroku config
首先在终端上运行以下命令生成密钥
rake secret
Run Code Online (Sandbox Code Playgroud)
现在在下面的命令中使用该键
heroku config:set SECRET_KEY_BASE='put here new generated key'
Run Code Online (Sandbox Code Playgroud)
您可以参考此链接以获得更多参考
https://devcenter.heroku.com/articles/config-vars
小智 6
我今天遇到了同样的问题,但对我来说解决方案有点不同。我意识到在我当地的环境中,我一直在使用:
Rails.application.secrets.secret_key_base
Run Code Online (Sandbox Code Playgroud)
但对于 Heroku,请改用:
Rails.application.secret_key_base
Run Code Online (Sandbox Code Playgroud)
^这在我当地的环境中也有效。不确定额外的钱.secrets
是做什么用的。
这是使用 heroku 设置密钥库的万无一失的方法:
heroku config:set SECRET_KEY_BASE=$(rake secret)
Run Code Online (Sandbox Code Playgroud)
你可以看到它heroku config:get SECRET_KEY_BASE
并检查 Rails 是否将其拾取Rails.application.secret_key_base
(heroku run rails console
例如)
归档时间: |
|
查看次数: |
3337 次 |
最近记录: |