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

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

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

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

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

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

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

転送プロキシ接続

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

省略可能

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

ファイルの設定

  1. .yaml​ ファイル拡張子で設定ファイルを作成します。

    1. ファイルに ​forward-proxy​ などのカスタム名を付けます。

    2. ファイルを Flex Gateway の設定ディレクトリ ​/etc/mulesoft/flex-gateway/conf.d/forward-proxy.yaml​ に保存します。このディレクトリには複数の設定ファイルを保存できます。

  2. 次の YAML スニペットをコピーしてファイルに貼り付け、適切な値に変更します。

    apiVersion: gateway.mulesoft.com/v1alpha1
    kind: Configuration
    metadata:
      name: forward-proxy
    spec:
      forwardProxy:
        https:
          address: http://proxy:8888
          basicAuth: // OPTIONAL
            username: username
            password: password
        noProxy: // OPTIONAL
          - fluentd
          - .svc.cluster.local

転送プロキシ 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 \
--no-proxy=.svc.cluster.local \
my-gateway