2

Play フレームワークを使用して複数のドメインを開始するにはどうすればよいですか? つまり、同じサーバーが somedomain.com と anotherdomain.com の両方のコンテンツを提供し、これらのドメインの両方のコンテンツが Play フレームワークによって提供されます。

たとえば、Play を Apache の背後にセットアップしますか、それとも Play 自体で仮想ホストを構成できますか。空の Linux サーバーから始めていますが、どうやって始めるか知りたいだけです。つまり、Apache などをいじる必要がありますか、それとも Play Framework だけでうまくいきますか?

4

2 に答える 2

2

biesior の回答へのフォローアップとして、フロントエンド サーバーを使用することが 2.5.x の時点で最良の選択肢であり続けるようです ( https://www.playframework.com/documentation/2.5.x/HTTPServerの更新されたドキュメント)。

つまり、request.headers.get("Host") でのパターン マッチングによって目的のホストを検出し、同じ Web アプリケーションで両方のドメインを提供できます。「anotherdomain.com」が静的であり、意味のあるルーティングを必要としない場合は、かなりうまく機能することがわかりましたが、慎重に行ってください。

また、キーストア ( https://www.playframework.com/documentation/2.5.x/ConfiguringHttps )に必要な証明書があれば、Play Framework の最近のバージョンは簡単に https をサポートすることにも注意してください。ただし、複数のドメインでうまく機能させる方法がわかりません。

于 2016-07-25T16:22:57.353 に答える
1

フロントエンド HTTP サーバーを使用するのが一般的なソリューションです。それ以外の場合は、個別のポートや IP アドレスで各アプリケーションにアクセスする必要があります。

さらに、HTTP サーバーを使用するとSSL(Play 2.x はサポートしていません!)、安全な接続を作成する予定がある場合は、ドキュメントに記載されているシナリオを使用する必要があります。

最後に、サーバーを使用すると、負荷分散、非常に正確なキャッシュ設定を使用した CDN-lke モードでの静的 (本当に静的) コンテンツの提供など、他の便利なことを組み込むことができます。

1 つのヒント: HTTP サーバーのジョブのみが Play アプリをプロキシするだけの場合は、Apache よりも軽量なオプションを使用することを検討してnginxくださいlighttpd

于 2013-05-24T05:40:31.997 に答える