<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
Server Name Indication(SNI)を使用すると、複数の HTTPS バックエンド サーバーを同じサービスから提供できます。 IP アドレスとポート。これらのバックエンド サーバーで同じ TLS 証明書を使用する必要はありません。 これは TLS プロトコルの拡張機能です。クライアントで SNI が有効になっている場合、クライアントは 最初の TLS handshake の一環として行われるバックエンド サーバーのホスト名。これにより TLS サーバーにより、送信元からのリクエストを検証するために使用する TLS 証明書が決定されます。 できます。
デフォルトでは、Edge for Private Cloud の Message Processor コンポーネントでは SNI が無効になっています。 既存のバックエンド サーバーとの下位互換性を確保できます。バックエンド サーバーが SNI をサポートするように構成されている場合は、Message Processor コンポーネントで SNI を有効にする必要があります。 そうしないと、Apigee Edge を通過する API リクエストが TLS handshake の失敗。
このドキュメントでは、次の操作を行う方法について説明します。
- バックエンド サーバーで SNI が有効になっているかどうかを確認する
- バックエンドと通信するために、Message Processor で SNI を有効にします。 SNI をサポートするサーバーの数
- 必要に応じて Message Processor で SNI を無効にする
- Google Cloud コンソールで SNI 構成が正常に更新されたことを確認します。 Message Processor
始める前に
- SNI について理解を深めるために、 Edge での SNI の使用。
- Private Cloud での Edge の構成について理解を深めるために、 Edge の構成方法
SNI が有効なサーバーの識別
このセクションでは、バックエンド サーバーで SNI が有効になっているかどうかを確認する方法について説明します。
-
openssl
コマンドを実行し、関連するサーバーのホスト名への接続を試みます。 以下に示すように、サーバー名を渡さずに(Edge Router またはバックエンド サーバー)。openssl s_client -connect hostname:port
-
証明書を取得することもでき、ハンドシェイクの失敗が
openssl
コマンドを使用します。
CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
-
openssl
コマンドを実行して、関連するサーバーに接続してみます。 ホスト名(エッジルーターまたはバックエンド サーバー)を作成します。以下のようにサーバー名を渡します。openssl s_client -connect hostname:port -servername hostname
- ステップ 1 で handshake に失敗した場合や、ステップ 1 とステップ 2 で異なる証明書を取得する場合は、 これは、指定したサーバーで SNI が有効になっていることを示します。
- 複数のバックエンド サーバーでこれを検証する場合は、次の操作を行う必要があります。 バックエンド サーバーごとに上記の手順を繰り返します。
SNI が有効になっているバックエンド サーバーが 1 つ以上ある場合、次のことを行う必要があります。 Message Processor コンポーネントで SNI を有効にします。それ以外の場合、API Apigee Edge を通過するリクエストは失敗します。 TLS handshake の失敗。
Edge Message Processor とバックエンド サーバー間の SNI を有効にする
このセクションでは、Edge Message Processor とバックエンド間の SNI を有効にする方法について説明します。
あります。SNI は、次のプロパティ jsse.enableSNIExtension
を使用して有効にできます。
Message Processor コンポーネントについて説明します。Message Processor のプロパティを構成するには、次のコマンドを使用します。
構文に従ってトークンを
Edge の構成方法
Message Processor で SNI を有効にするには、次の操作を行います。
jsse.enableSNIExtension
プロパティのトークンを見つける
次のステップでは、Google Cloud Storage の
jsse.enableSNIExtension
プロパティ:
-
Message Processor ソースで
jsse.enableSNIExtension
プロパティを検索します。 次のコマンドを使用して、/opt/apigee/edge-message-processor/source
ディレクトリに移動します。grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
このコマンドの出力には、Message Processor のプロパティに対するトークンが表示されます。
jsse.enableSNIExtension
は次のようになります。/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
ここで、
{T}{/T}
タグの間の文字列は、 Message Processor の.properties
ファイルで設定できます。したがって、プロパティ
jsse.enableSNIExtension
のトークンは次のようになります。conf_system_jsse.enableSNIExtension
Message Processor で SNI を有効にする
次の手順では、Apigee Message Processor コンポーネントで SNI を有効にする方法について説明します。
- Message Processor マシンで、次のファイルをエディタで開きます。オンになっていない場合
作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、ファイルを開くには、
vi
の場合は、次のコマンドを入力します。vi /opt/apigee/customer/application/message-processor.properties
-
プロパティ ファイルに次の形式の行を追加します。
conf_system_jsse.enableSNIExtension=true
- 変更を保存します。
-
以下に示すように、このプロパティ ファイルの所有者が
apigee
ユーザーであることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Google Cloud コンソールで SNI 構成が Message Processor
- 複数の Message Processor がある場合は、すべての Message Processor です。
Edge Message Processor とバックエンド サーバー間の SNI を無効にする
SNI を有効にした後は、通常は問題はありません。ところが、 バックエンド サーバーへの接続の問題が発生した場合、 SNI を有効にする場合は、次の手順でいつでも SNI を無効にできます。
SNI は、プロパティ jsse.enableSNIExtension
を設定することで無効にできます。
Message Processor コンポーネントの false
に戻ります。
Message Processor で SNI を無効にする
次の手順では、Apigee Message Processor で SNI を無効にする方法について説明します。
-
Message Processor マシンで、次のファイルをエディタで開きます。オンになっていない場合
作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、ファイルを開くには、
vi
の場合は、次のコマンドを入力します。vi /opt/apigee/customer/application/message-processor.properties
-
「
conf_system_jsse.enableSNIExtension=true
」という行が/opt/apigee/customer/application/message-processor.properties
に変更し、次のように変更します。 次のようになります。conf_system_jsse.enableSNIExtension=false
- 変更を保存します。
-
以下に示すように、このプロパティ ファイルの所有者が
apigee
ユーザーであることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Google Cloud コンソールで SNI 構成が Message Processor
- 複数の Message Processor がある場合は、すべての Message Processor です。
Message Processor での SNI 構成の確認
このセクションでは、SNI 構成が正常に行われたことを確認する方法について説明します。 Message Processor を更新します。
トークン conf_system_jsse.enableSNIExtension
を使用して、
Message Processor で SNI を構成するには、実際のプロパティが
jsse.enableSNIExtension
に新しい値が設定されています。
-
Message Processor マシンで、
jsse.enableSNIExtension
プロパティを検索します。/opt/apigee/edge-message-processor/conf
ディレクトリにファイルが表示され、 次のように新しい値が設定されます。grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Message Processor で SNI 構成が正常に更新されると、
上記のコマンドは、
system.properties
ファイルの新しい値を表示します。Message Processor で SNI を有効にした後の上記のコマンドの結果例 内容は次のとおりです。
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
同様に、Cloud Shell で SNI を無効にした後の上記のコマンドのサンプル結果は、 Message Processor は次のとおりです。
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
上の出力例では、プロパティ
jsse.enableSNIExtension
が は、次の新しい値true
またはfalse
に更新されました:system.properties
。これは、SNI が正常に有効または 無効にすることもできます。 -
プロパティ
jsse.enableSNIExtension
に古い値が引き続き表示される場合は、次の点に注意してください。 該当するセクションに記載されているすべての手順に従って、 SNI を正しく無効にできます途中を抜けた場合は、すべての手順を正しく繰り返します。 - それでも SNI を有効または無効にできない場合は、 Apigee Edge のサポート。