2011-06-05 73 views
4

我有幾個Web服務需要傳入安全的令牌/密鑰/密碼。我應該在哪裏爲我的Rails應用程序定義這些安全值才能看到?我想要版本控制中的開發密鑰,但不希望版本控制中使用生產密鑰。我應該如何設置?我是新來的鐵軌。在哪裏把安全的密碼/鍵在軌應用程序?

回答

4

正確地看到問題。

將您的passwordskeys放在某些從版本控制中排除的yml文件中。

然後在您的生產服務器上,創建與每次部署時相同的文件並將應用程序符號鏈接到它。

編輯。

Capistrano的幾乎要做出符合這些需求:

+1

謝謝。那麼,我會在Capistrano腳本中自動執行此過程?就像我說的,我是新的。我應該在哪裏創建yml文件並在哪裏加載/閱讀它? – Bradford 2011-06-05 20:01:39

4

apneadiving是正確的,符號化文件是一個好主意。另一種方法是將密鑰放在shell變量中,只能由運行該應用程序的用戶訪問。然後,在你的Rails應用程序,你將有

login = ENV['SERVICE_LOGIN'] 
password = ENV['SERVICE_PASSWORD'] 
+0

我認爲這種方法在Heroku上效果更好,或者至少更容易...謝謝。 – mjnissim 2012-08-21 13:53:10

+0

+1。另外,請查看以下內容,瞭解如何以每個項目爲基礎管理這些項目:https://github.com/bkeepers/dotenv – user456584 2014-04-16 19:23:19

相關問題