【问题标题】:Passenger Showing Debug Errors With System Info – Design Flaw?乘客显示带有系统信息的调试错误 – 设计缺陷?
【发布时间】:2014-03-29 20:32:48
【问题描述】:

我们注意到较新 (4.0+) 版本的 Phusion Passenger 存在设计缺陷。当启动应用程序(Ruby、Python 等)发生错误时,它会显示一条乘客调试消息,其中列出了所有系统变量、环境变量 (!) 目录等。这是设计缺陷吗?

您不能对公共应用程序同时使用密码保护 VirtualHost 指令并运行该应用程序,也不能全局禁用这些调试页面。在生产应用程序中,它们永远不应显示在系统上的任何位置,除非管理员具体说明它们应该......为什么这是默认行为?

许多新用户将敏感的 Rails 设置存储在环境变量中(无论是手动、Figaro gem 等),这正成为一种习惯,因为它是 Rails Composer/Rails App Composer 中的默认设置,许多用户(新的和有经验的都一样)用于启动项目。

在生产站点中,将捕获该页面的蜘蛛/机器人的数量,即使是半秒,也可能达到数万,依此类推。

需要一种方法来禁止显示乘客调试网页,但与调试或日志相关的唯一文档与其企业版有关。是不是必须“付费”?

【问题讨论】:

    标签: apache debugging logging passenger


    【解决方案1】:

    默认情况下启用它以减少支持问题。有许多用户(甚至可能是大多数用户?)如果出现问题,他们完全不知道去哪里寻找,如果不是这个带有详细信息的错误页面。许多人根本不知道 Web 服务器有一个日志文件,他们应该在那里寻找问题。

    您可以通过设置PassengerFriendlyErrorPages off 来禁用它。它在开源版本中。

    目前有a ticket open that suggests displaying less information when in production mode

    【讨论】:

    • 谢谢;经过一番挖掘后发现了这个。称它们为“FriendlyErrorPages”会暂时停止搜索。并不是最好的术语。谢谢你的票链接,我一定会推广的。我们在开发模式下收到了大量的屏幕截图,其中很多可能是恶意的;并且许多 Rails 应用程序使用环境变量来避免将敏感/私人信息存储在硬编码文件中,因此这是一个默认设置,可以向世界显示 THOSE 变量。我认为这绝对是一个糟糕的默认选择。
    猜你喜欢
    • 2014-03-01
    • 2013-06-25
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多