You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Heroku添加或更新gpg.conf配置文件以解密PGP加密文件

Heroku Rails服务GPG临时配置实现方案

背景说明

当前运行的Rails服务需要解密客户提供的PGP加密文件,由于客户暂未按要求在加密时添加--force-mdc参数,因此需要临时在GPG配置中添加ignore-mdc-error参数绕过MDC校验。

前置说明

Heroku Dyno采用临时文件系统,所有运行时手动修改的文件会在部署、Dyno重启后自动重置,因此直接登录服务器创建的.gnupg/gpg.conf无法持久化,必须将配置嵌入部署流程实现永久生效。

可行实现方案

方案1:配置文件随源码托管(推荐,稳定易维护)

  • 在Rails项目根目录创建.gnupg目录,在目录下新建gpg.conf文件,写入配置内容:
ignore-mdc-error
  • 在Heroku控制台或通过Heroku CLI添加环境变量:
    heroku config:set GNUPGHOME=/app/.gnupg
    配置完成后GPG调用时会自动读取该路径下的配置文件,无需额外文件拷贝操作。

方案2:启动时动态生成配置(适配不想将配置提交到代码库的场景)

  • 在Rails项目根目录新建.profile文件,写入以下脚本内容:
# 启动时自动生成GPG配置
mkdir -p $HOME/.gnupg
echo "ignore-mdc-error" > $HOME/.gnupg/gpg.conf
# 配置符合GPG要求的权限
chmod 700 $HOME/.gnupg
chmod 600 $HOME/.gnupg/gpg.conf

Heroku Dyno启动时会自动执行.profile内的脚本,每次启动都会生成符合要求的GPG配置文件。

配置验证

部署完成后可执行heroku run bash进入一次性Dyno环境,执行gpg --list-config查看配置是否加载成功,或直接运行解密测试验证功能正常。

注意事项

ignore-mdc-error属于临时降级方案,会降低PGP解密的安全性,等客户所有加密文件均添加--force-mdc参数后,请及时移除该配置。

内容的提问来源于stack exchange,提问作者Superman2971

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:15:04