2014-12-04 130 views

回答

24

祕密密鑰用於簽署會話cookie。如果您必須重新啓動應用程序並重新生成密鑰,則所有現有會話都將失效。這可能不是你想要的(或者至少,不是關於無效會話的正確方法)。類似的情況可以用於任何其他依賴於密鑰的事件,例如由其危險產生的令牌提供重置密碼URL(例如)。

標準做法是將一些一次性密鑰提交到回購站(以便有一些用於開發機器),然後在部署時將密鑰設置在本地配置中。這樣,密鑰不會泄漏,不需要重新生成。

還有一種情況是運行依賴於應用上下文的輔助系統,例如Celery運行後臺任務,或者多個負載平衡的應用程序實例。如果應用程序的每個正在運行的實例具有不同的設置,則在某些情況下可能無法正確工作。

+1

什麼是重新啓動應用程序的有效情況(除了崩潰,這本身就是一個問題)?難道它不會永遠運行嗎? – 2014-12-04 06:18:39

+7

@MainMa好吧,除非您第一次推出無錯誤,功能完整的代碼,否則您可能需要在某個時候部署新版本。 – davidism 2014-12-04 06:20:59

相關問題