【发布时间】:2016-08-30 14:15:20
【问题描述】:
我有一个全局 api 密钥,用于验证对我服务器 api 的请求。
所以 api 密钥必须存储在我的 rails 应用程序或服务器上的某个位置。
经过快速搜索,大多数人似乎建议将您的密钥存储在 .yml 文件中,然后将其加载到您的应用程序中。他们声称这是安全的,因为 .yml 文件未检查到 git/源代码控制。
显然你应该将.yml文件添加到.gitignore,否则会被添加git。
但是如果你这样做,那么如果 .yml 文件没有签入到 git 并且服务器上不存在,那么如何在部署后加载文件(capistrano)?
这是一个示例 railscast,它演示了将密钥存储在 .yml 文件中:
http://railscasts.com/episodes/85-yaml-configuration-file?autoplay=true
【问题讨论】:
-
我知道这不是您所要求的,但在生产环境中,您可以将 api 密钥设置为环境变量,以避免将文件投入生产环境。
-
您的意思是手动将密钥添加到服务器上的环境变量中?
标签: ruby-on-rails git api credentials api-key