在失败时阻止乘客泄漏环境变量

时间:2014-05-22 13:21:22

标签: ruby-on-rails nginx passenger

这很令人尴尬。如果由于某种原因我的开发人员将我们的rails应用程序的错误构建发送到生产服务器,则乘客可能无法加载。当发生这种情况时,web请求乘客转储包含.env中所有变量的错误页面。由于他更喜欢把像API密钥这样的秘密放在远程服务上,这可能是一个很大的安全漏洞。

有什么办法可以解决此问题吗?我们正在使用nginx。我们正在向工作流程添加一个临时服务器以避免推送不良版本,但是,这似乎不应该发生。

感谢。这是nginx.conf文件的相关部分:

http {
  passenger_root /home/X/.rvm/gems/ruby-2.1.1/gems/passenger-4.0.40;
  passenger_ruby /home/X/.rvm/gems/ruby-2.1.1@XXX/wrappers/ruby;

server {
  listen              443;
  server_name         www.X.com;

  root                /home/X/current/public;
  passenger_enabled   on;
  ..

1 个答案:

答案 0 :(得分:1)

转动passenger_friendly_error_pages off。自4.0.42起,默认情况下它在生产时关闭。