我正在部署Rails應用程序。
當我在secretts.yml文件中擁有secret_key_base:<%= ENV["SECRET_KEY_BASE"] %>
時,我在nginx日誌文件中得到錯誤:secret_key_base。
我已經生成在控制檯中使用rake secret
祕密,並放置在〜/ .bashrc中爲
出口SECRET_KEY_BASE="secret"
從我跑echo $SECRET_KEY_BASE
和複製的祕密secrets.yml與祕密更換<%= ENV["SECRET_KEY_BASE"] %>
控制檯。
然後,一切正常,應用程序在生產環境中運行良好。
我不想在secret.yml中保密,我不知道如何糾正這個或我做錯了什麼。
有沒有人有任何建議?secrets.yml環境變量不能在Rails中工作4.1.4
1
A
回答
3
如果您使用的乘客,加上
passenger_set_cgi_param SECRET_KEY_BASE "yoursecret";
你的nginx配置中的相關章節。 See this section in the passenger user guide.
-1
你可以把這個祕密基地/config/initializes/secret_token.rb:
SampleApp::Application.config.secret_key_base = 'Your_Base_here'
編輯: 這是一種勸阻在許多情況下,這樣編輯.ENV文件,並設置您的主要基地:
SECRET_KEY_BASE=Your_base_here
,並把你的secrets.yml回:
<%= ENV["SECRET_KEY_BASE"] %>
你可能會改變原生使用/config/initializes/secret_token.rb:
SampleApp::Application.config.secret_token = ENV['SECRET_TOKEN']
這會給你相同的結果,更安全。 如果您然後在推動這Heroku的規劃:
heroku config:set SECRET_KEY_BASE=$SECRET_KEY_BASE
0
在生產中的〜/ .bashrc可能讀不出來 - 比如,你運行作爲不同的用戶,nginx的可能不是在開始之前讀的〜/ .bashrc,等Lots of people遇到這個問題。
一個常見的方法是處理像Rails處理數據庫配置的環境配置。創建一個配置/ 東西 .yml文件與設置爲每個環境,然後閱讀yaml在配置/初始化/ 東西 .rb初始值設定項,並使用特定環境的值。 rails_config和figaro寶石自動化這種方法。我經常只是沒有寶石就做到了,因爲它不是非常困難。和database.yml一樣,關鍵在於你永遠不想檢查這個到源代碼控制 - 在git中使用.gitignore。
如果你想堅持使用環境變量來設置你的密鑰庫,那麼你怎麼做取決於你的生產機器,以及如何配置它並部署你的代碼。使用Heroku,只需彈出Heroku控制檯並進行設置即可。對於其他情況,您可以使用Chef/Puppet/Ansible等設置服務器的環境變量。另一種方法是使用Capistrano推送該信息。
相關問題
- 1. 環境變量不能在rails上工作
- 2. 環境變量不工作
- 3. capistrano 3 + rvm1-capistrano3 rails 4.1 secrets.yml環境變量問題
- 4. 爲什麼環境變量不能在$(shell)命令中工作?
- 5. Rails環境變量
- 6. 環境變量爲Android Studio不工作
- 7. php環境變量不工作
- 8. PHP腳本中的環境變量不能從nohup工作
- 9. NPM環境變量不能在Windows工作?
- 10. 稍後在Rails 5中的測試環境中不能工作
- 11. 將rails環境作爲變量
- 12. 在Rails中設置環境變量
- 13. 宏觀環境變量不能在python
- 14. Rails不拿起SECRET_KEY_BASE環境變量
- 15. JAVA_HOME和PATH環境變量在UBUNTU中不工作
- 16. 去哪裏工作從環境變量?
- 17. 路徑環境變量如何工作?
- 18. Rails ES語言環境不工作
- 19. 工頭在加載導軌時不能使用環境變量
- 20. 如何將系統上的環境變量存儲到secrets.yml中以便讀取?
- 21. Python不能讀取環境變量
- 22. websocket-rails在開發環境但不是生產環境中工作
- 23. Rails的變量不工作
- 24. windows 7:環境變量不起作用
- 25. CMAKE_INSTALL_PREFIX環境變量 - 不起作用?
- 26. 刪除環境變量不起作用
- 27. Ruby on Rails Secrets.yml
- 28. 環境變量如何在雲中工作
- 29. sudo環境變量如何在linux中工作?
- 30. 如何在IDE中工作時設置環境變量CHROME_BIN?
感謝您對文檔的解決方案和方向。它像一個魅力。 – user3334207 2014-09-10 13:28:50