2014-03-29 76 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