2014-03-29 24 views
2

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

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

许多新用户在环境变量中存储敏感的Rails设置(无论是通过手动,Figaro宝石等),而且这变得更加实用,因为它是Rails Composer/Rails App Composer中的默认设置,其中很多用户(新的和有经验的人)用来启动一个项目。

在一个制作网站上,捕捉该页面的蜘蛛/僵尸程序的数量,即使是半秒钟,也可能在数万,等等。

需要一种禁用Passenger调试网页的方法,但唯一与调试或日志相关的文档与其企业版相关。你需要“付钱”吗?

回答

2

默认情况下启用它以减少支持问题。有许多用户(可能甚至是大多数用户),如果出现错误,他们绝对不知道该往哪里看,如果这个错误页面没有详细信息,许多人几乎不知道Web服务器有日志文件,并且他们应该在那里寻找问题。

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

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

+2

谢谢;挖了一些后发现这一点。称他们为“FriendlyErrorPages”会略微减少搜索量。不是最好的术语。感谢票务链接,我肯定会推动这一点。在开发模式中,我们收到了大量的屏幕擦除,其中许多可能是恶意的;许多Rails应用程序使用环境变量来避免将敏感/隐私信息存储在硬编码文件中,所以这是一个DEFAULT设置,它向全世界显示THOSE变量。我认为这绝对是一个糟糕的默认选择。 – rcd