2011-07-13 3 views
1

プロダクションモードではHTTPS、開発モードではHTTPが常に必要です。今、私がhttpsルートを作成することを知っている唯一の方法は、 @@{Controller.action().secure()}を使用していますが、それらをhttpsにハードコードしています。PlayFramework HTTPSはプロードモードでのみ、HTTPはdevモードで

ルートまたはapplication.conf設定で可能ですか?

答えて

5

DevからProdモードでの動作を変更する唯一の簡単な方法は、PlayをHTTPのみにしておき、NGinx、Lighttp、ApacheなどのHTTPサーバーを使ってProdモードでサイト全体を保護することです。

このアプローチは、アプリケーションが両方のモードで同じ状態を維持し、設定がアプリケーションより上位レイヤで行われることを意味します。

サイト全体がHTTPSになることを意味しますが、実際にはこれが悪いことではありません。実際には、サイト全体のセキュリティに対するユーザーの信頼感がより低くなる可能性があります。

+1

すべてのHTTPSに対して+1 HTTP経由でセッションを実行するためのCookieを持っている場合は、ほとんどのWiFiネットワークでワンクリックハイジャックです。 –

+0

しかし、HTTPとHTTPSが混在する環境はどうですか? 1つのアプローチは、アプリケーションの特定の部分(たとえば「/ secure/...」)をhttpsに強制し、残りのアプリケーションにhttpを使用させることです。 (Nginxのようなフロントプロキシの助けを借りて)私が入っているアプリケーションの部分に応じて、指定されたスキームでテンプレートのURLをレンダリングする解決策が見つからない限り、うまく動作します。スキームの定義) –

+0

もちろんamazon環境の場合、ELBロードバランサを終了させるとhttpsのパフォーマンスがひどいと聞き/読みますが、ウェブサーバーでhttpsを終了するとずっと良い結果が得られます(多くのトレードオフ私は推測する)....すでに10のウェブサーバをアマゾンに持っているなら、あなたがhttpsを有効にしているという理由だけで10のELBで終わることを望まないので、そこで終わるほうが良い。 –

関連する問題