接続モードでの Flex Gateway の転送プロキシの設定

Squid などの転送プロキシを使用すると、プロキシ接続経由で外部 HTTP Flex Gateway 接続をルーティングできます。

接続モードとローカルモードの両方で、YAML 設定ファイルを使用して転送プロキシを設定します。

次の図は、内部ネットワークが転送プロキシを使用して外部ネットワークと通信する方法を示しています。

これは、Flex Gateway へのすべての接続が最初に転送プロキシを通過する画像です

この図のように、転送プロキシを使用している場合、内部ネットワークからの HTTP 通信は転送プロキシを通過する必要があります。

この例では、すべての HTTP API アップストリーム通信も転送プロキシを通過する必要があります。一部の接続が転送プロキシを使用せずに直接通信できるようにする方法についての詳細は、​「noProxy パラメーター」​を参照してください。

20%

25%

20%

転送プロキシ接続

HTTP 接続のみが転送プロキシ経由でルーティングされます。

次の接続が転送プロキシ経由でルーティングされます。

  • Anypoint Platform への接続

  • アウトバウンドポリシー接続

  • アップストリームサービスへの接続

  • HTTP (Fluent Bit) ログ接続

noProxy​ パラメーターを使用すると、転送プロキシを使用せずに直接接続するように HTTP および HTTPS 接続を設定できます。

転送プロキシを設定しても、次の接続は変更されません。

  • 共有ストレージへの接続

  • Lightweight Directory Access Protocol (LDAP) 接続

  • 非 HTTP ログ接続

noProxy パラメーター

noProxy​ パラメーターを追加すると、信頼する HTTP サービスが転送プロキシを使用せずに通信できるようになります。

たとえば、​noProxy​ を有効にすると、HTTP ログ接続とアップストリームサービスへの接続をリストして、それらを Flex Gateway に直接接続させることができます。

YAML 設定ファイルで ​noProxy​ パラメーターを使用して HTTP ログと通信している場合、正確なドメイン名をリストする必要があります。ドメインサフィックス (​.svc.cluster.local​ など) をリストすることはできません。すべての HTTP ログ接続に対して完全なドメイン名、​<logging-name>.svc.cluster.local​ をリストする必要があります。

次の図は、noProxy を使用した通信での違いを示しています。

これは、noProxy を有効にした場合としなかった場合の内部接続の違いを示す画像です

この図では、​noProxy​ を有効にしない場合、Flex Gateway は転送プロキシを使用して内部 API エンドポイントと通信します。​noProxy​ を有効にして API アップストリームドメインをリストした場合、Flex Gateway は内部 API エンドポイントと直接通信します。

転送プロキシパラメーターの設定

apiVersion: gateway.mulesoft.com/v1alpha1
kind: Configuration
metadata:
  name: forward-proxy
spec:
  forwardProxy:
    https:
      address: http://proxy:8888
      basicAuth:
        username: <string>
        password: <string>
    noProxy:
       - fluentd
       - .svc.cluster.local
パラメーター 必須または省略可能 説明

https.address

必須

プロキシアドレス

basicAuth

省略可能

認証ユーザー名とパスワードを指定する

basicAuth.username

basicAuth​ が設定されている場合は必須

認証ユーザー名

basicAuth.Password

basicAuth​ が設定されている場合は必須

認証パスワード

noProxy

省略可能

転送プロキシを使用せずに通信するドメイン名を含む配列

Linux サービスとして Flex Gateway の転送プロキシを設定する

  1. Flex Gateway 設定ディレクトリに YAML 設定ファイルを作成します。

    sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/forward-config.yaml
  2. 目的の転送プロキシ設定の詳細を使用してファイルを更新します。

  3. Flex Gateway に直接のインターネットアクセスがない場合は、​「転送プロキシ Flex Gateway の登録」​を参照してください。

Docker コンテナで Flex Gateway の転送プロキシを設定する

Flex Gateway 設定ファイルを含むフォルダーのボリュームをすでに追加している場合、YAML ファイルの作成と保存のステップに進みます。
  1. Ctrl+C を押して、Flex Gateway とレプリカを停止します。

  2. Flex Gateway 設定ファイルを含むディレクトリに ​app​ という名前のフォルダーを作成します。

  3. 新しい ​app​ ディレクトリの追加ボリュームで Flex Gateway を再起動します。

    docker run --rm \
    -v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \
    -p 8080:8080 \
    mulesoft/flex-gateway
    -e ​FLEX_NAME​=<name-for-flex-replica> \ を含めて、Flex レプリカに割り当てる名前 (省略可能) を指定します。
  4. 目的の転送プロキシ設定の詳細を使用して YAML ファイルを作成して保存します。

  5. Flex Gateway に直接のインターネットアクセスがない場合は、​「転送プロキシ Flex Gateway の登録」​を参照してください。

Kubernetes クラスターでの Flex Gateway の転送プロキシの設定

Flex Gateway の転送プロキシを設定するには、転送プロキシの詳細を使用して新しい YAML 設定リソースを作成します。

Flex Gateway に直接のインターネットアクセスがない場合は、​「転送プロキシ Flex Gateway の登録」​を参照してください。

転送プロキシ Flex Gateway の登録

Flex Gateway が、すべてのインターネット接続が転送プロキシを通過する内部ネットワークにある場合は、​Flex Gateway を登録​するときに ​--https-proxy​ フラグを追加する必要があります。

--https-proxy​ フラグをプロキシの ​address​ パラメーターと共に追加します。

--https-proxy=http://proxy:8888

basicAuth​ を有効にする場合は、​username​ パラメーターと ​password​ パラメーターを指定します。

--https-proxy=http://<username>:<password>@proxy:8888

次のサンプル登録コマンドは、フラグの配置を示しています。

flexctl register \
--username=<your-username> \
--password=<your-password> \
--environment=<your-environment-id> \
--organization=<your-org-id> \
--output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \
--https-proxy=http://<username>:<password>@proxy:8888 \
my-gateway
Flex Gateway デプロイメントには関連する登録コマンドを使用してください。