rails 中 master.key 和 production.key 以及其他 {environment}.key 文件的区别

问题描述 投票:0回答:2

我在应用程序中使用 ActiveRecord 加密字段,并使用以下命令生成凭据:

rails credentials:edit --environment development
test
production
相同)。

现在我有4个文件:

config/credentials/development.key
config/credentials/test.key
config/credentials/production.key
config/master.key

主密钥和所有环境密钥有什么区别?

ruby-on-rails encryption
2个回答
1
投票

主密钥用于在所有环境中加密和解密凭证。环境密钥用于在各自的环境中加密和解密凭证。


0
投票

credentials.yml.enc
/
master.key
是全局秘密对。它是在 Rails 5 中添加的。

Rails 6 添加了特定于环境的内容,例如

production.yml.enc
/
production.key
。出于向后兼容性的原因,全局的仍然可用。如果未检测到当前环境特定环境,则 Rails 将使用全局环境。

我建议完全删除全局变量,并在开发/产品中仅使用特定于环境的变量。

© www.soinside.com 2019 - 2024. All rights reserved.