検索

3.6. パスルーティング

download PDF

APIcast は、3scaleアカウント (または APICAST_SERVICES_LIST 環境変数が設定されている場合にはサービスのサブセット) で設定されているすべての API サービスを処理します。通常、APIcast はリクエストのホスト名に基づいて API リクエストを適切な API サービスにルーティングします。そのために、公開ベース URL との照合を行います。最初にマッチしたサービスが承認に使用されます。

パスルーティング機能により、複数のサービスで同じ 公開ベース URL を使用することができ、リクエストはリクエストのパスによりルーティングされます。この機能を有効にするには、APICAST_PATH_ROUTING 環境変数を true または 1に設定します。有効にすると、APIcast はホスト名とパスの両方に基づいて受信したリクエストをサービスにマッピングします。

同じ 公開ベース URL を使用して 1 つのゲートウェイを通じて異なるドメインでホストされる複数のバックエンドサービスを公開する場合に、この機能を使用することができます。そのためには、API バックエンド (つまり プライベートベース URL) ごとに複数の API サービスを設定し、パスルーティング機能を有効にします。

たとえば、3 つのサービスが以下のように設定されている場合、

  • サービス A 公開ベース URL: api.example.com マッピングルール: /a
  • サービス B 公開ベース URL: api2.example.com マッピングルール: /b
  • サービス C 公開ベース URL: api.example.com マッピングルール: /c

パスルーティングが 無効 な場合には (APICAST_PATH_ROUTING=false)、api.example.com に対するすべての呼び出しはサービス A との照合を試みます。したがって、呼び出し api.example.com/c および api.example.com/b「No Mapping Rule matched」エラーと共に失敗します。

パスルーティングが 有効 な場合には (APICAST_PATH_ROUTING=true)、呼び出しはホストおよびパスの両方に照合されます。したがって、

  • api.example.com/a はサービス A にルーティングされます。
  • api.example.com/c はサービス C にルーティングされます。
  • api.example.com/b は「No Mapping Rule matched」エラーと共に失敗します。つまり、公開ベース URL がマッチしないので、サービス B とはマッチしません。

パスルーティングを使用する場合には、同じ 公開ベース URL を使用する複数のサービスにおいて、マッピングルールが競合しないようにする必要があります。つまり、メソッドとパスパターンの組み合わせは、それぞれ 1 つのサービスでしか使用することはできません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.