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

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


リバース・プロキシ・リクエストのプロセスを示す図。ここに示されているプロセスの詳細は、この後のテキストで説明されています。
  1. クライアントからパブリックURLへのリクエストが行われます。

    たとえば、Studioプロジェクトの場合、リクエストURLはhttp://mybdd/bdd/web/myprojectなどで、デフォルト・ポート80を使用します。

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

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

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

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

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

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