2011-07-23 3 views
3

私はプレイを取得しようとしている!サーバーは、このサーバー用に構成されたすべてのドメイン名ではなく、単一のドメイン名をlistenします。再生!サーバー:単一のドメイン名を聞く

I.E.私は2人の異なるドメイン名上で実行されている2つのWebサービスを持っている:1は、ポート9000で実行されている example1.com example2.com

例を、実施例2は、それぞれのドメインのポート80が転送されているポート9001上で実行されています問題のポート。

しかし、例2はまだexample1.com:9001によってアクセス可能です。私はPlay!を設定する方法を知りたいと思います。指定されたドメイン名だけをリッスンするようにします。

私はrequest.host変数をチェックしてアプリケーション内で修正できましたが、Play!私は簡単な解決策を探しているので、簡単にするつもりです!

敬具、ヤン

PS私はhttp.address設定パラメータを使用してみましたが、アプリケーションは、まだ両方のドメイン名にリッスンします。

答えて

2

簡単な答えは、PlayサーバーをApache、Nginx、Lighttpまたは他のHTTPサーバーで表示することです。このHTTPサーバーをPlayアプリケーションサーバーのリバースプロキシとして機能させるように、example1.com:80がポート9000にルーティングし、example2が80100をポート9001にルーティングします。

次のガイドを参照してください。あなたがする必要があることの明確な詳細。これは実際に、あなたの要件に似て、2つの異なるドメインが処理されていることを示しています

http://www.playframework.org/documentation/1.2.1/production#server

+0

私はすでに実装しています...ドメイン名example2.comの下でポート9000へのアクセスをブロックしたいと考えています – Jan

+2

ポート80のトラフィックのみが許可されるようにファイアウォールを設定する必要があります。これはPlay内では実行されません(ポート9000と9001で実行する必要があります)が、外部トラフィックがそれらの開いているポートにアクセスするのをブロックするファイアウォールソフトウェアです。 – Codemwnci

0

あり、両方のホストに対して個別のIPアドレスを持っていない限り、他の方法はありません。そうでない場合は、ホスト要求ヘッダーを調べる必要があります。

+0

正直な回答のために下降した人は誰ですか? –

1

あなたが探しているものは、バーチャルホストモジュールです。利用可能なものはVHostですが、私はそれを自分で試していないし、Play Framework(1.2.2)の最新バージョンと互換性があるかどうかわかりません。

プレイバーチャルホストモジュールは、HTTP/1.1 Hostヘッダフィールドに 基づいて、コンテンツを提供することができますアプリケーションを作成する機能を追加します。個別のデータソースは仮想ホストごとに管理されます。

関連する問題