首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 5.2 credentials.yaml.enc和master.key不在Heroku上工作

Rails 5.2 credentials.yaml.enc和master.key不在Heroku上工作
EN

Stack Overflow用户
提问于 2018-05-16 07:59:43
回答 4查看 3.8K关注 0票数 5

我正在为一个新的应用程序设置活动存储器,在设置了我的亚马逊凭证之后,还没有能够让该应用程序在生产中运行。

  1. 我已经在我的s3文件中包含了我的credentials.yaml.enc桶凭证
  2. 我将RAILS_MASTER_KEY env变量添加到Heroku中。
  3. 我已经根据s3文件在storage.yml文件中设置了storage.yml桶。
  4. 我已将config.active_storage.service = :amazon行添加到我的production.rb中。
  5. 我把config.require_master_key = true添加到了我的production.rb中

当我尝试在Heroku上运行我的应用程序时,它不会加载。执行$ Heroku运行rails控制台会给我带来错误:

代码语言:javascript
运行
复制
"/app/vendor/bundle/ruby/2.3.0/gems/aws-sigv4-1.0.2/lib/aws-sigv4/signer.rb:517:in `extract_credentials_provider': Cannot load `Rails.config.active_storage.service`: (Aws::Sigv4::Errors::MissingCredentialsError)
missing credentials, provide credentials with one of the following options:
- :access_key_id and :secret_access_key
- :credentials
- :credentials_provider"

据我所知,我已经按照Rails 5.2所期望的方式设置了凭据。我试过各种资产预编译的东西,但都没有用。当我尝试将我的amazon凭据添加为env时。在Heroku的变量中,该应用程序在生产中运行良好。知道这里会出什么问题吗?

EN

回答 4

Stack Overflow用户

发布于 2018-06-01 14:32:15

是因为您忘记将config.require_master_key = true添加到production.rb中吗?

票数 8
EN

Stack Overflow用户

发布于 2018-05-17 02:42:36

我以前有过这个问题,好像是Heroku上的一个bug。

您应该通过设置选项卡上的Heroku仪表板设置您的环境变量。

然后您可以使用ENV‘’NAME_OF_ you _VARIABLE‘访问它。

这解决了我的问题。

还可以很好地检查您的Heroku日志,方法是滚动以确保安装了所有的宝石。

票数 3
EN

Stack Overflow用户

发布于 2018-06-15 13:56:41

再次检查您的config/credentials.yml.enc文件中是否有正确的密钥。我有一个倒置键-- secret_key_access而不是secret_access_key,并且得到了同样的错误。修正了config/credentials.yml.enc中的密钥名,为我修复了它。

在rails控制台(本地)中,运行:Rails.application.credentials.dig(:aws, :access_key_id)Rails.application.credentials.dig(:aws, :secret_access_key)以确保它们有值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50365348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档