2015-06-22 37 views
3

我得到這個錯誤運行在生產模式下播放2.4服務器:配置錯誤[應用程序密碼不正確]

play.api.UnexpectedException: Unexpected exception[ProvisionException: Unable to provision, see the following errors: 

1) Error in custom provider, @6mh5cjo5l: Configuration error 
    while locating play.api.libs.CryptoConfigParser 
    while locating play.api.libs.CryptoConfig 

... 

Caused by: play.api.PlayException: Configuration error[Application secret not set] 

如何解決?

回答

8

默認播放模板使用下列內容:

play.crypto.secret="changeme" 
在需要改變在生產中使用的 application.conf

。遊戲提供了一個工具來爲你生成一個隨機祕密:

./activator playGenerateSecret 

與您可以再填充作爲環境變量:

APPLICATION_SECRET=... 

conf/application.conf確保符合以下條件:

play.crypto.secret="changeme" 
play.crypto.secret=${?APPLICATION_SECRET} 

其中Play documentation解釋爲:

該配置的第二行設置祕密來自 環境變量,名爲APPLICATION_SECRET,如果設置了這樣一個環境變量 ,否則它將保留上一行的 保持不變。

然後錯誤將消失。

+1

男人,你是天才。我正在解決這個問題約10小時...我在Heroku上部署了一個應用程序,並且沒有將crypto.key設置爲不同的內部錯誤。使用「./activator playGenerateSecret」從你的項目文件夾中生成一個。謝謝 !!! –

+0

@ S.Birklin真的很高興聽到這有助於。 :) – bjfletcher

相關問題