- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我碰壁了。我正在通过 Elastic Beanstalk 将 Rails 6 应用程序部署到 AWS。部署是通过 eb cli 完成的,我使用 git 来完成。
无论我尝试什么,我遇到的错误是:ArgumentError: key 必须为 16 字节
每当我尝试访问加密凭据(例如 Rails.application.credentials.sendgrid[:api_key]
)时,就会发生这种情况,这些凭据是使用环境 key 与 EDITOR= 设置的“mvim -f”rails凭证:编辑--环境生产
我所看到的一切都是使用 Rails 5.2,并且所有内容似乎都是使用 master.key
存储的,而不是特定于环境的 yml 文件。
我尝试过的:
RAILS_MASTER_KEY
eb printenv
并且我确实看到了这个键config/development.rb
中,我设置了config.require_master_key = true
RAILS_PRODUCTION_KEY
设置为与主 key 相同的值,但仍然失败RAILS_ENV
,并将 product
作为环境属性的值总的来说,它似乎无法正确获取主 key ,并且它提示 key 不是正确的 16 字节。
当我在本地运行 RAILS_ENV=生产捆绑执行rails c
时,它工作得很好,我可以获得所有凭据。
这是我的 .ebextensions/config 文件:
# Beanstalk ain't ready for Rails 6. This fix is courtesy of https://austingwalters.com/rails-6-on-elastic-beanstalk/
# Additional node 6 cleanup courtesy of https://github.com/nodesource/distributions/issues/486
commands:
00_remove_node_6_if_present:
command: "/bin/rm -rf /var/cache/yum && /usr/bin/yum remove -y nodejs && /bin/rm /etc/yum.repos.d/nodesource* && /usr/bin/yum clean all"
ignoreErrors: true
01_download_nodejs:
command: "curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -"
02_install_nodejs:
command: "yum -y install nodejs"
03_install_yarn:
command: "sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo && sudo yum install yarn -y"
04_mkdir_webapp_dir:
command: "mkdir /home/webapp"
ignoreErrors: true
05_chown_webapp_dir:
command: "chown webapp:webapp /home/webapp"
ignoreErrors: true
06_chmod_webapp_dir:
command: "chmod 0744 /home/webapp"
ignoreErrors: true
07_chmod_logs:
command: "chown webapp:webapp -R /var/app/current/log/"
ignoreErrors: true
08_create_log_file:
command: "touch /var/app/current/log/production.log"
ignoreErrors: true
09_chown_log_production:
command: "chown webapp:webapp /var/app/current/log/production.log"
ignoreErrors: true
10_chmod_log_dir:
command: "chmod 0664 -R /var/app/current/log/"
ignoreErrors: true
11_update_bundler:
command: "gem update bundler"
ignoreErrors: true
12_config_for_update_nokogiri:
command: "bundle config build.nokogiri --use-system-libraries"
13_chown_current:
command: "chown webapp:webapp -R /var/app/current/"
ignoreErrors: true
14_chmod_current:
command: "chmod 0755 -R /var/app/current/"
ignoreErrors: true
15_chown_current:
command: "chown webapp:webapp -R /var/app/ondeck/"
ignoreErrors: true
16_chown_current:
command: "chmod 0644 -R /var/app/ondeck/"
ignoreErrors: true
container_commands:
17_install_webpack:
command: "npm install --save-dev webpack"
18_config_for_update_nokogiri:
command: "bundle config build.nokogiri --use-system-libraries"
19_precompile:
command: "RAILS_ENV=production bundle exec rake assets:precompile"
20_database_migration:
leader_only: true
command: "RAILS_ENV=production bundle exec rake db:migrate"
最佳答案
是什么解决了这个问题:
eb setenv RAILS_MASTER_KEY=XXXXXXXX
尽管我在 EB Web 控制台中设置了此环境属性,但由于某种原因它没有被使用。在控制台中设置后,它会给我一条更新成功的消息。
Environment update completed successfully.
但是一旦我执行了$eb部署
,我就会在事件中看到这一点:
Environment update is starting.
这让我相信它覆盖了我在控制台中设置的所有环境变量,或者至少它以某种方式设置了我想要的不同子集。一旦我尝试 $eb setenv RAILS_MASTER_KEY=XXX
就可以找到 Rails 凭据。
关于amazon-elastic-beanstalk - AWS Beanstalk 中的 Rails 6 凭证 : ArgumentError: key must be 16 bytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60447706/
谁能帮我解决这个问题: ruby 2.7.3p183 情况是这样的,这个方法: def send_request(url, payload = {}, internal_proxy: true) ..
我在 Spyder 的 IPython 控制台中为 Anaconda 导航器使用 kivy 包。打开 Spyder 后,如果我使用 runfile(path, wdir=cwd),我的代码将毫无问题地
这是我的 ruby 代码: books = ["Charlie and the Chocolate Factory", "War and Peace", "Utopia", "A Brief Hist
Ruby 提示我没有为我的脚本提供足够的参数,即: #!/usr/bin/ruby require 'mail' def send(file,recipients_csv) reci
当我运行以下命令时,救援似乎因 ArgumentError 而被忽略。来自 Ruby 的 ArgumentError 错误消息出现在控制台上,但我的 puts 消息没有。我尝试使用 TypeError
我编写了一个基本的 Rails 3 应用程序,它在特定的 URL 上显示一个表单和一个上传表单。昨天一切正常,但现在我遇到了几个需要修复的问题。我会尽量描述每个问题。我将它们组合在一起的原因是因为我觉
与其让我的 Ruby 对象的构造函数提示给定的参数数量(在参数错误的情况下),不如让消息准确地列出预期的内容。 def initialize a, b, c begin @a = a
我有一个只有命名参数的方法很奇怪的行为。 class MyConsumer < ... def method1(params) method2(params.slice(:a,:b))
我是 ruby 编程的新手。这是我在 Watir 的第一个程序。当我执行下面的代码时,我得到 HTTP 请求路径为空 (ArgumentError)。感谢您帮助修复此错误。我正在通过代理设置访问互
我正在研究应该用作 CLI 的 Ruby gem效用。 我决定使用 Thor ,它由 rails 命令使用并且似乎非常灵活(关于与 rake 的区别:link)。 问题是我找不到如何处理输入错误。例如
当我调用 Exception#backtrace_locations 时,它通常会按预期返回一个数组: begin raise "foo" rescue => e p e.backtrace_
如果你想添加一个 argparse 没有提供的额外检查,例如: if variable a == b then c should be not None ...是否允许自己引发 ArgumentErr
我使用的是 ruby 2.1.5p273、Rails 4.2.3,但最近从更旧的版本进行了升级。 我在 Phone 模型的这一行收到“ArgumentError:参数数量错误(1 表示 0)”错误
dates = ["11/12/08 10:47", "11/12/08 13:23", "11/12/08 13:30", "11/25/08 19:21", "2/2/09 11
我在让这个简单的测试通过 RSpec 2.8 时遇到了问题。 我想编写一个简单的测试来检测需要参数的方法是否缺少参数(即 ArgumentError:参数数量错误('x' 代表 'y'))。 我的测试
创建了一个线程 here ,但这并不能解决我的问题。 我的代码是: course.rb class Course # returns a value to be able to use +inc
defmodule My do def go do x = nil if(not x) do IO.puts "hello" else IO.put
所以我刚刚升级到 FontAwesome 4.0。此更改的一部分是引用图标的方式。 你不能再做: . 现在...您必须替换 icon与 fa- , 所以上面现在看起来像这样: 所以我灵机一动,决定替
我是 RoR 的新手,虽然我在 StackOverflow 和 Google 上进行了大量搜索,但我似乎无法解决这个问题。 在我的 Controller 中,我有以下代码来初始化@coupon_cat
我有一个简单的模型 class Task :deadline_in_future? def deadline_in_future? Date.today Task.new Argume
我是一名优秀的程序员,十分优秀!