刚刚使用Git将我的第一个应用程序推送到Heroku,立即出现了Interanl Server Error。

必须在应用程序的配置中设置config.secret_key_base。

这是因为在我的.gitignore文件中包含以下文件:

配置/初始化程序/secret_token.rb

我正在为我的.gitignore文件使用标准模板,该文件位于:https://github.com/github/gitignore/blob/master/Rails.gitignore

我的问题:我应该直接通过Heroku设置此密钥以增强安全性吗?

要么

我应该只从我的.gitignore文件中删除此行吗?

最佳答案

正如Nick Ginanto概述的那样,除了将 secret token 设置为Heroku上的ENV变量外,还需要执行以下操作。

config/initializers/secret_token.rb中删除.gitignore
将此文件中的行更改为:

MyApp::Application.config.secret_token = ENV['SECRET_TOKEN']

然后,它将提取您使用Heroku的config vars设置的 secret token 。

为了在您的本地环境中提取 token ,您需要添加它。这里有很多选项,但是最接近Heroku的选项是在项目根目录中使用foreman gem.env文件。 .env将需要具有secret_token
SECRET_TOKEN=NKUd7gisd7fueAISDfg....

您可以使用rake secret命令生成 token 。确保将.env文件添加到.gitignore中。

完成所有这些操作后,您将为Heroku和Local使用不同的 token ,并且这些 token 将不在源代码控件中。

关于ruby-on-rails - Heroku Config secret keystore 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18556955/

10-09 00:41
查看更多