【问题标题】:Heroku Config Secret Key Base Error when running heroku open运行heroku open时出现Heroku Config Secret Key Base Error
【发布时间】:2014-08-11 19:37:05
【问题描述】:

运行“heroku open”时出现此错误

“内部服务器错误

您必须在应用的配置中设置 config.secret_key_base。"

我已经尝试了这个帖子中的所有内容:

Heroku Config Secret Key Base Error

  • 在 config/initializers/secret_token.rb 中设置 MyApp::Application.config.secret_token = ENV['SECRET_TOKEN']
  • 创建了一个 .env 文件,其内容为 SECRET_TOKEN=NKUd7gisd7fueAISDfg....
  • 更新了我的 .gitignore 文件,如下所示

我还尝试了什么:

  • 我在 secret_token.rb 文件中添加了:DemoApp::Application.config.secret_key_base = ENV['SECRET_TOKEN']

  • 用于费加罗创建application.yml文件,并粘贴SECRET_TOKEN:用我自己的SECRET_TOKEN 9489b3eee4eccf317ed77407553e8adc97baca7c74dc7ee33cd93e4c8b69477eea66eaedeb18af0be2679887c7c69c0a28c0fded0a71ea472a8c4abf3f0a19cb

  • 运行 rake figaro:heroku

我仍然收到内部服务器错误。抱歉,如果这是一个完整的问题,但这是我第一次尝试使用“heroku open”命令。

谢谢, 大卫

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    好的,heroku 工作人员的帮助证明我的 config/initializers 文件夹没有推送到 git。

    然后这两个帖子解决了它:

    Config/initializers not pushing to repo

    No submodule mapping found in .gitmodules for path

    祝你好运

    【讨论】:

      【解决方案2】:

      要在 Heroku 上设置环境变量,您需要在本地机器上使用 Heroku Toolbelt

      heroku config:set SECRET_TOKEN=f489b3eee4eccf317ed77407553e8adc97baca7c74dc7ee33cd93e4c8b69477eea66eaedeb18af0be2679887c7c69c0a28c0fded0a71ea472a8c4abf3f0a19ca
      

      (显然,将上面的令牌替换为您自己的)

      然后确保您的 config/initializers/secret_token.rb 文件中有 MyApp::Application.config.secret_token = ENV['SECRET_TOKEN']

      更多信息请参见Setting up config vars for a deployed application

      还要确保您已在 config/secrets.yml 文件中为生产环境添加了一个 secret_key_base 条目:

      production:
        secret_key_base: 527dacc0390e10df59278f1a18aa8ad14e429fa6ce522e5fb3b7ac358007dff4
      

      请勿使用此处发布的密钥。您可以使用 rake 任务生成一个新任务并将其粘贴到您的 config/secrets.yml 文件中

      bundle exec rake secrets
      

      【讨论】:

      • 嗨注入,已安装工具带。我还完成了 heroku config:set SECRET_TOKEN 命令。我的 config/initializers/secret_token.rb 中的行是 SampleApp::Application.config.secret_key_base = ENV['SECRET_TOKEN']。
      • 使用“heroku config”显示我的 SECRET_TOKEN。但是“heroku open”仍然不起作用,还有其他想法吗?
      • @user3911994,我已经更新了我的答案,提供了一些关于如何使用secret_key_base 更新您的config/secrets.yml 文件以进行生产的信息。
      • 好的,我创建了一个 config/secrets.yml 文件并添加了你有生产的行:secret_key_base: my key。然后把所有东西都推到heroku上。我仍然得到错误。我还需要做点别的吗?
      • 能否在生产环境本地启动应用? bundle exec rails s -e production 你需要创建一个生产数据库并更新你的 database.yml 来测试它,但是在本地测试它比在 Heroku 上测试它更容易。
      猜你喜欢
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 2019-01-11
      • 2021-08-28
      • 2021-03-30
      • 1970-01-01
      相关资源
      最近更新 更多