ruby-on-rails - 生产环境缺少 secret_key_base - 在 heroku 上托管 rails 4.1.4 应用程序

标签 ruby-on-rails heroku ruby-on-rails-4

我创建了一个 rails 4.1.4 应用程序,我想在 heroku 上托管它,但我收到以下错误 -

缺少 secret_key_base对于 production环境,在 config/secrets.yml 中设置此值

我的 secrets.yml 文件看起来有 secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>制作中

我运行了 rake secret 并将结果保存在环境变量 SECRET_KEY_BASE 中。当我在 heroku 上登录我的应用程序时,当我单击设置时,我可以看到该值存储在配置变量中。

其他解决方案建议我将 config/secrets.yml 添加到 git 并重新部署到 heroku - 但是我不想将 secrets.yml 或任何 yml 文件添加到版本控制。

有什么想法吗?

谢谢!

最佳答案

当您部署到 Heroku 时,您是通过 Git 进行部署。任何不包含在您的 git 存储库中的文件都不会被推送到您的服务器。因此,现在 secrets.yml 中的内容并不重要 - 它没有被部署。

提交配置文件或 YAML 文件没有错 - 问题在于提交 secret 。如果您提交了您的 API key 和密码,那么您必须信任每个可以访问您的源代码的人。如果你的代码在 Github 上,那是不可能的(因为你不相信地球上的每个人都有一台电脑),但在小公司里仍然是个坏主意。如果有人离开、丢失了他们的笔记本电脑,或者如果他们的机器上没有生产凭证而感染了恶意软件,您的压力就会小得多。

您已经在做正确的事情来避免这种情况。使用环境变量来配置您的应用程序可以将这些 secret 保留在您的存储库之外,即使这些配置文件已提交。

关于ruby-on-rails - 生产环境缺少 secret_key_base - 在 heroku 上托管 rails 4.1.4 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25471190/

相关文章:

ruby-on-rails-4 - 如何在另一个 View 中渲染一个 View (rails 4)

ruby-on-rails - 尝试查找属于某个项目的所有任务

heroku - 完全重置 Heroku 配置

heroku - Bastard Heroku 应用程序 : who's the father?(也就是说,原始本地目录在哪里?)

ruby-on-rails-4 - 检索shopify产品

ruby - 下拉菜单在应该被选中的时候没有被选中……为什么?

ruby-on-rails - ruby rails : Control flow in the basic blog application

ruby-on-rails - 给定列号和行号,使用 Axlsx gem 修改特定单元格值

ruby-on-rails - Rails google-ads-ruby 设置

node.js - 应该使用哪个 mailgun 库将 Parse 托管应用程序迁移到 Heroku?