2014-12-04 84 views

回答

24

秘密密钥用于签署会话cookie。如果您必须重新启动应用程序并重新生成密钥,则所有现有会话都将失效。这可能不是你想要的(或者至少,不是关于无效会话的正确方法)。类似的情况可以用于任何其他依赖于密钥的事件,例如由其危险产生的令牌提供重置密码URL(例如)。

标准做法是将一些一次性密钥提交到回购站(以便有一些用于开发机器),然后在部署时将密钥设置在本地配置中。这样,密钥不会泄漏,不需要重新生成。

还有一种情况是运行依赖于应用上下文的辅助系统,例如Celery运行后台任务,或者多个负载平衡的应用程序实例。如果应用程序的每个正在运行的实例具有不同的设置,则在某些情况下可能无法正确工作。

+1

什么是重新启动应用程序的有效情况(除了崩溃,这本身就是一个问题)?难道它不会永远运行吗? – 2014-12-04 06:18:39

+7

@MainMa好吧,除非您第一次推出无错误,功能完整的代码,否则您可能需要在某个时候部署新版本。 – davidism 2014-12-04 06:20:59

相关问题