生产环境缺失密钥基础设施

6
My situation is very much like SemiFixed: Missing `secret_key_base` for 'production' environment:
my config/secrets.yml
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

我已经在/etc/environment中添加了一个条目,这样当我登录并输入时,它将自动加载。
echo $SECRET_KEY_BASE

我用rake secret创建了一个长字符串。但是,在重置整个计算机后,即使我仍然得到500错误且提示缺少“production”环境的secret_key_base,要在config/secrets.yml中设置此值。那么还可能出现什么问题呢?

1个回答

8
发现apache2忽略了/etc/environment文件。将以下内容添加到/etc/apache2/envvars解决了我的问题:
export SECRET_KEY_BASE=<the long string>

我很好奇你能否提供你学习这个的链接。我也在试图弄清楚为什么我需要把我的环境变量放在那里。 - Andy
我发现apache2忽略了/etc/environment,于是我上网搜索了一下并找到了解决方案。你也可以在http://askubuntu.com/questions/146688/why-doesnt-apache2-respect-my-envvars-file看到被接受的答案,但这只适用于Debian/Ubuntu,如果你使用Fedora/CentOS,你可能需要自己尝试一下。 - cpliu338
这种情况发生在我身上,这样做解决了问题。你应该将其标记为答案(即使它是你自己的答案 :)) - Dynelight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接