Rails应用部署至fly.io失败,master key配置问题求助
解决Rails部署至fly.io时的master.key缺失问题
问题原因
你的本地config/master.key文件默认被加入了.gitignore,不会被提交到代码仓库,因此fly.io构建镜像时无法获取到该文件,导致解密加密配置文件(如credentials.yml.enc)失败。
解决方案
推荐使用fly.io的环境变量传递密钥,步骤如下:
- 打开本地项目的
config/master.key文件,复制其中的密钥字符串 - 在终端执行命令:
替换fly secrets set RAILS_MASTER_KEY=你的密钥内容你的密钥内容为你复制的实际密钥 - 重新执行部署命令:
fly deploy
不推荐方案(安全性低)
若执意要将密钥打包进镜像(存在密钥泄露风险,不建议),可修改.gitignore文件,移除/config/master.key条目,提交该文件到代码仓库后重新部署。
内容的提问来源于stack exchange,提问作者Juzer Shakir
相关产品推荐
相关产品推荐

