リバース・プロキシ・リクエストのシーケンス例

リバース・プロキシ・サーバーを使用して処理されるリクエストの典型的なシーケンス例を示します。


リバース・プロキシ・リクエストのプロセスを示す図
  1. クライアントからパブリックURLへのリクエストが行われます。

    この例のStudioアプリケーションでは、リクエストURLはhttp://mystudio/web/myappで、デフォルトのポート80を使用します。

    ホスト名は、リバース・プロキシ・サーバーのアドレスに解決されます。リバース・プロキシはこのアドレスでリスニングし、リクエストを受け取ります。

  2. リバース・プロキシ・サーバーはURLを分析し、どこにリクエストをプロキシする必要があるかを決定します。

    リバース・プロキシでは、リクエストのルーティングにプロトコル、ホスト、ポート、パス、問合せ文字列など、URLのどの部分でも使用できます。通常、パスが、ルーティング用のデータとして主に使用されます。

    リバース・プロキシの構成ルールでは、リクエストの送信先であるアウトバウンドURLが決定されます。この送信先は通常、コンテンツ提供を行うエンド・サーバーになります。リバース・プロキシ・サーバーでは、リクエストの一部が書き換えられることがあります。たとえば、パス・セグメントを変更したり、パス・セグメントに追加する可能性があります。

    リバース・プロキシでは、リクエストに標準ヘッダーまたはカスタム・ヘッダーを追加することもできます。

    たとえば、URL http://mystudio/web/myapphttp://studioserver1:8080/studio/web/myappにプロキシできます。この場合、次のようになります。
    • ターゲット・サーバーのホスト名はstudioserver1です。
    • ポートは8080に変更されます。
    • リクエストURIパスには、先頭に/studioが追加されます。
  3. リバース・プロキシ・サーバーは、リクエストをターゲット・サーバーに送信します。
  4. ターゲット・サーバーは、レスポンスをリバース・プロキシ・サーバーに送信します。
  5. リバース・プロキシ・サーバーはリクエストを読み取って、それをクライアントに返します。