2011-07-13 29 views
1

我希望某些路由在生產模式下始終處於HTTPS狀態,但HTTP處於開發模式。現在,我知道創建https路由的唯一方式是使用: @@{Controller.action().secure()},但是它們將它們硬編碼爲https。PlayFramework HTTPS路由只在prod模式下,HTTP在dev模式

這是可能的路線或與application.conf設置?

回答

5

改變從開發模式到產品模式的工作方式的唯一簡單方法是通過僅在HTTP中保留播放,然後通過將其與HTTP服務器(如NGinx,Lighttp或Apache 。

此方法意味着您的應用程序在兩種模式下保持不變,並且配置在比應用程序更高層完成。

然而,這種方法將意味着你的整個網站將HTTPS,但我真的不認爲這是一件壞事,實際上它可能會給你的用戶在你的整個網站的安全性多一點信心。

+1

適用於所有HTTPS。如果你有一個通過HTTP運行會話的cookie,這是大多數WiFi網絡上的一鍵式劫持。 –

+0

但是,混合HTTP和HTTPS部件的環境呢?一種方法是將應用程序的特定部分(例如「/ secure/...」)強制爲https,並讓應用程序的其餘部分使用http。 (在像Nginx這樣的前端代理的幫助下)除非我還沒有找到解決方案,根據我所在的應用程序的部分,在給定的方案中找不到解決方案。(反向路由與給定方案定義) –

+0

當然,如果你在亞馬遜環境中,如果你的ELB負載均衡器終止它,我聽到/讀取https上的性能是非常糟糕的,如果你終止你的web服務器上的https會好得多(很多權衡我猜)....如果你已經有10個網絡服務器在亞馬遜,最好終止那裏,因爲你不想結束10個ELB,因爲你已經啓用了https。 –

相關問題