Rails 5.2如何禁用新凭证功能 沿用旧版secret_key_base配置
Rails 5.2 保留旧版secret_key_base配置的解决方案
完全可以禁用Rails 5.2引入的新凭证机制,无需强制使用credentials文件与master.key,按以下步骤配置即可:
- 在
config/environments/production.rb文件中添加以下配置,直接指定secret_key_base从原有环境变量读取,覆盖默认的凭证读取逻辑:
如果你需要全局生效(所有环境都沿用旧逻辑),也可以把这行配置加到config.secret_key_base = ENV["SECRET_KEY_BASE"]config/application.rb中。 - 若要彻底避免Rails校验master.key、加载凭证文件,可以在
config/application.rb中额外添加配置:config.require_master_key = false
配置完成后重启应用即可,只要原有环境变量SECRET_KEY_BASE配置正确,就不会再抛出对应的ArgumentError报错。如果升级过程中自动生成了config/credentials.yml.enc、config/master.key文件,直接删除即可,不会影响现有配置逻辑运行。
内容的提问来源于stack exchange,提问作者Maxi
相关产品推荐
相关产品推荐

