私は現在、標準のApache仮想ホスト構成で複数のWebサイトを設定しています。複数のOpa Web Appsを1台のサーバーに接続
私の質問は、Opaを使ってビルドされた複数のウェブサイトを、Apache仮想ホストと同じように実行するように設定する方法です。
ex。ユーザーがwww.example1.comを入力すると、サーバーはユーザーをOpaApp1にリダイレクトします。ユーザーがwww.example2.comを入力すると、サーバーはユーザーをOpaApp2にリダイレクトします。
私は現在、標準のApache仮想ホスト構成で複数のWebサイトを設定しています。複数のOpa Web Appsを1台のサーバーに接続
私の質問は、Opaを使ってビルドされた複数のウェブサイトを、Apache仮想ホストと同じように実行するように設定する方法です。
ex。ユーザーがwww.example1.comを入力すると、サーバーはユーザーをOpaApp1にリダイレクトします。ユーザーがwww.example2.comを入力すると、サーバーはユーザーをOpaApp2にリダイレクトします。
HttpRequest.get_host()で要求されたホストを回復できます。
サンプルアプリ:
OpaApp1 = {{
start(uri) = Resource.html("Hello", <>World 1</>)
}}
OpaApp2 = {{
start(uri) = Resource.html("Hello", <>World 2</>)
}}
@server
start(uri:Uri.relative) =
match HttpRequest.get_host()
{some={some="www.example1.com"}} -> OpaApp1.start(uri)
{some={some="www.example2.com"}} -> OpaApp2.start(uri)
_ -> Resource.error_page("Error", <>Bad gateway</>, {bad_gateway}) // default
server = Server.simple_dispatch(start)
私は、Apacheの第一人者だありませんが、私はあなたが別のポート(--port
スイッチ)上の異なるオーパアプリケーションを実行することができ、その場合には別のポートに異なるドメインを設定することができたとします。これは、1つのグローバルアプリを持つだけでなく、モジュール化されているかもしれません。
ありがとう、 OpaApp1.opa、OpaApp2.opa、およびSomeRequestRedirectionApp.opaを別々にコンパイルできますか? その後、OpaAppX.opaのWebサイトを追加して、SomeRequestRedirectionApp.opaに少し追加するだけでいいのですか? – BrianTMaurer
これを1つのバイナリにコンパイルする必要はありません。あなたは(すべてのアプリケーション用に)異なるパッケージを作ることができますが、最終的に1つのバイナリに終わる必要があります。 – Fred
それ以外の場合は、さまざまなWebアプリケーションの前で[nginx](http://www.nginx.com/)のようなロードバランサを使用し、それらをnginxで負荷分散することをお勧めします。これは良い解決策です.Opaはマルチスレッドではないので(まだ)、マルチコアプロセッサがあればそれを利用します。 – Fred