我有幾個Web服務需要傳入安全的令牌/密鑰/密碼。我應該在哪裏爲我的Rails應用程序定義這些安全值才能看到?我想要版本控制中的開發密鑰,但不希望版本控制中使用生產密鑰。我應該如何設置?我是新來的鐵軌。在哪裏把安全的密碼/鍵在軌應用程序?
回答
正確地看到問題。
將您的passwords
和keys
放在某些從版本控制中排除的yml文件中。
然後在您的生產服務器上,創建與每次部署時相同的文件並將應用程序符號鏈接到它。
編輯。
Capistrano的幾乎要做出符合這些需求:
把你
yml
文件在shared
文件夾在你Capistrano的
deploy.rb
文件:after 'deploy' do run "ln -s #{shared_path}/database.yml #{release_path}/config/database.yml" end
一起工作yml文件:http://railscasts.com/episodes/85-yaml-configuration-file
apneadiving是正確的,符號化文件是一個好主意。另一種方法是將密鑰放在shell變量中,只能由運行該應用程序的用戶訪問。然後,在你的Rails應用程序,你將有
login = ENV['SERVICE_LOGIN']
password = ENV['SERVICE_PASSWORD']
我認爲這種方法在Heroku上效果更好,或者至少更容易...謝謝。 – mjnissim 2012-08-21 13:53:10
+1。另外,請查看以下內容,瞭解如何以每個項目爲基礎管理這些項目:https://github.com/bkeepers/dotenv – user456584 2014-04-16 19:23:19
鐵軌4.1.0,請secrets.yml。
- 1. 哪裏存儲數據庫密碼安全在Java桌面應用程序
- 2. 在哪裏把SSL加密,Apache HTTP或Web應用程序
- 3. 應用程序的祕密在哪裏?
- 4. 哪裏把JavaScript代碼放在RoR Web應用程序中?
- 5. 在哪裏把驅動程序的Java Web應用程序
- 6. ClickOnce應用程序在哪裏安裝?
- 7. 在哪裏把具體的邏輯在laravel應用程序
- 8. 在哪裏把全局常量在軌道3
- 9. UWP應用程序在哪裏把靜態XML文件在應用程序
- 10. 在ASP.NET應用程序中重置密碼的安全性
- 11. 你在哪裏把jQuery的JavaScript代碼放在CodeIgniter應用程序中?
- 12. 我在哪裏把配置在angularjs應用程序?
- 13. 在哪裏把sitemap.xml放在HTML5模式角應用程序
- 14. 在哪裏把數據庫連接在Android應用程序
- 15. 我在哪裏把這個jQuery放在rails應用程序中
- 16. 在哪裏把編譯JS在NodeJS應用程序
- 17. 在哪裏把我的企業登錄到vaadin應用程序
- 18. 我總是困惑在哪裏把JavaScript的Rails應用程序
- 19. 在哪裏把tomcat6 java應用程序的log4j.properties文件?
- 20. 你把Java應用程序的核心放在哪裏?
- 21. 您在哪裏/如何在Spring Boot應用程序中存儲應用程序祕密(密碼,API KEY)
- 22. 在哪裏把log4j.properties-用於java桌面應用程序
- 23. 在哪裏把hasOne和外鍵在Laravel
- 24. 把Rails應用程序中安裝的Sinatra應用程序的源文件放在哪裏
- 25. Django的應用程序消費休息API - 在哪裏把代碼
- 26. 在哪裏把日誌記錄到MVC應用程序
- 27. APK - 安全在哪裏?
- 28. Dropwizard configuration.yml安全問題(在哪裏保存並且應該包含密碼)
- 29. 在哪裏把node.js代碼放在cPanel
- 30. 在哪裏存儲管理員密碼在sinatra + heroku應用程序?
謝謝。那麼,我會在Capistrano腳本中自動執行此過程?就像我說的,我是新的。我應該在哪裏創建yml文件並在哪裏加載/閱讀它? – Bradford 2011-06-05 20:01:39