3

我正在运行一个 jelastic 设置来托管多个 Rails 应用程序。

在 Rails 中,将配置存储在环境中是很常见的。尤其是机密数据,例如密码或访问密钥。

我应该将它们放在 Ruby/Rails jelastic 设置的什么位置?

我目前有 nginx 和乘客;因为这是默认设置。如果 Puma 或 Unicorn 让这变得更容易或更强大,我很想听听。

/etc/nginx/nginx.conf我目前在using nginx env指令中声明了我的环境变量。但这意味着我将秘密存储在 nginx.conf 文件中。呸。

## ENV VARS
env SECRET_KEY_BASE=xxxxxxxxxxxx;
env BLAZER_USERNAME=uuuuu;
env BLAZER_PASSWORD=xxxxxxxxxxxx;
env AWS_ID=aaa;
env AWS_SECRET_KEY=aaa;
env BLAZER_DATABASE_URL=postgres://uuu:ppp@example.com:5432/production;
  1. 您如何在任何 jelastic 设置中管理您的秘密?
  2. 您如何在 Rails jelastic 设置中管理您的秘密?
  3. 您在哪里存储环境变量以供正在运行的应用程序获取?

编辑:我对将秘密远​​离“机器上的其他用户/进程”不感兴趣。我不想将我的秘密存储在我的应用程序 git-repo 中。这是非常非常糟糕的做法。因此,我希望我的 Rails 应用程序能够读取ENV['AWS_SECRET_KEY'],而不是将该密钥存储在我的代码库中的某个位置。

4

3 回答 3

2

最简单的方法是将此环境变量粘贴到 .bash_profile 配置文件中,该文件直接位于您的家中,可以通过 SSH 访问。

于 2017-02-02T13:34:37.837 回答
1

Phusion Passenger 不在交互式 shell 中运行。可能,您现在正在使用最好的解决方案(nginx 配置)。

于 2017-02-02T12:44:25.733 回答
0

Jelastic 提供每个环境的节点(例如应用服务器数据库Docker等)作为单独的虚拟机(完全独立的实例,不受硬件上任何其他帐户的影响)。它完全隔离并致力于满足您的特定需求,确保足够的隐私,并且可以配置为使用敏感数据运行任何应用程序。

我们的文档中有一个通过 SSH 设置自定义环境变量的指南,这对您的情况很有帮助。

一般来说,我们想说 Jelastic 对于大多数环境变量使用情况是安全的。

于 2017-02-02T10:13:47.110 回答