Mule 4 API プロキシの自動ドメインサポート

Mule Runtime では、Mule ドメイン内で共通リソースを定義し、他の Mule アプリケーションがこのドメインを継承するように宣言して、これらの共通リソースを他の Mule アプリケーションと共有できます。このように、ドメイン内で宣言されたすべてのリソースは、ドメインにあるすべての Mule アプリケーションでアクセスすることができます。
これについての詳細は、Runtime の​「共有リソース」​トピックを参照してください。

自動生成された各プロキシは事前設定済みの Mule アプリケーションなので、同じドメインで複数の API プロキシを定義することもできます。

通常、同じホストとポートを使用し、パスのみが異なる複数のプロキシを自動デプロイする場合に、API プロキシユーザはドメインをインストールします。
ハイブリッドデプロイメント対象にデプロイする場合、API プロキシが Mule 4.x に基づくのであれば、API プロキシドメインを自動的に継承するようにプロキシを設定できます。

ドメインを参照する API プロキシの自動設定およびデプロイ

ハイブリッドデプロイメント対象にプロキシをデプロイする場合、そのプロキシが Mule 4.x に基づくのであれば、API Manager では既存の API プロキシドメインを継承するようにこのプロキシを自動的に設定できます。

こちらのリンクに従って、Exchage から特定の API プロキシドメインをダウンロードできます。
必要なリソースをすべて設定し、このプロキシドメインをデプロイしてください。

このドメインを継承するために Mule 4.x API プロキシをデプロイするときに、次の手順に従って自動的に設定されるようにすることができます。

  1. [API Administration (API 管理)]​ タブで、​[Manage API (API を管理)]​ を選択し、Exchange から API をインポートするのか、ローカルマシンからインポートするのかを選択します。

  2. API 名、アセットタイプ、バージョン、アセットバージョンを定義します。

  3. [Managing Type (種別の管理)]​ で ​[Endpoint with Proxy (プロキシを使用するエンドポイント)]​ を選択し、​[Proxy Deployment Target (プロキシデプロイメント対象)]​ で ​[Hybrid (ハイブリッド)]​ を選択します。

  4. [Mule Version (Mule バージョン)]​ で ​[Check this box if you are managing this API in Mule 4 or above (この API を Mule 4 以降で管理する場合はこのボックスをオンにする)]​ を選択します。

  5. [Implementation URI (実装 URI)]​ に API の URI を入力します。
    さらに次を指定できます。

    1. TLS コンテキスト。
      詳細は、記事​「HTTPS API プロキシの構築」​を参照してください。

    2. パスが ​/​ 以外の場合、実装 URI のパス。

  6. [Advanced Options (詳細オプション)]​ ドロップダウンをクリックします。

  7. スキーム (HTTP/HTTPS) と API インスタンス表示ラベル (省略可能) を選択します。

  8. API プロキシのインバウンド接続のポートを指定し、応答タイムアウト (省略可能) を設定します。

  9. [Reference User Domain (ユーザドメインを参照)]​ を選択します。

  10. [Save (保存)]​ をクリックします。

    proxy domain support bb01e

これらの設定を保存した後、​[Settings (設定)]​ タブの ​[Deployment Configuration (デプロイメント設定)]​ で、​[Deploy (デプロイ)]​ をクリックします。

手動設定

API プロキシをダウンロードして手動で設定する場合は、以下の点に留意する必要があります。

  • API プロキシの pom.xml ファイルに API ゲートウェイドメインの連動関係を追加します。

    <groupId>com.anypoint.mulesoft</groupId>
    <artifactId>gateway-proxy-domain</artifactId>
    <version>1.0.0</version>
    <packaging>mule-domain</packaging>
  • 次の 2 つのリスナ名があります。

    • api-proxy-listener-http​。
      すべてのインターフェースにバインドし、ポート 8081 を使用します。

    • api-proxy-listener-https​。
      HTTPS 通信用のリスナ設定。
      使用するには、API プロキシテンプレートからコードのコメントを解除し、証明書とパスワードを設定する必要があります。

      API プロキシリスナは、これらのリスナ名のいずれかを使用して、プロキシドメインの HTTP リスナ設定を継承する必要があります。

      <http:listener-config name="api-proxy-listener-http">
        <http:listener-connection host="0.0.0.0" port="${proxy.port}" protocol="${implementation.protocol}"/>
      </http:listener-config>
  • 継承するドメインには、デフォルトのプロパティが指定された ​config.properties​ ファイルが含まれています。このリソースは動的に設定を指定し、ドメインを再コンパイルする必要はありません。
    このファイルに含まれているプロパティは次のとおりです。

    proxy.port=8081
    implementation.protocol=HTTP
    inbound.keystore.path=path
    inbound.keystore.keyPassword=changeit
    inbound.keystore.password=changeit
    inbound.keystore.algorithm=
    inbound.keystore.type=JKS
    inbound.keystore.alias=alias

ポートの競合の回避

API を登録するには、一意のエンドポイント URL を使用して API プロキシを Mule Runtime にデプロイする必要があります。自動生成されたプロキシはパス ​http://0.0.0.0:8081​ を使用します。競合を避けるには、プロキシのパスとポートが異なることを確認します。

サーバはすべてのインスタンスの公開を試み、ほとんどの宣言型インターフェースに権限を付与します。たとえば、​local_ip​ は ​localhost​ に対して権限を持ちます。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub