TLS 拡張を必要とする REST および SOAP Server Name Indication (SNI) により、ソケットエラー、ハンドシェイクの失敗などが発生する可能性がある 。Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Server Name Indication (SNI) は、TLS コンピュータネットワークプロトコルの拡張で、クライアントはこれを使用して、ハンドシェークプロセスの開始時に接続しようとしているホスト名を示します。これにより、次のことが可能になります。 同じ IP アドレスと TCP ポート番号で複数の証明書を提示するサーバー複数の安全な(HTTPS)Webサイト(またはTLSを介した他のサービス)を、それらのすべてのサイトに同じ証明書を使用することなく、同じIPアドレスから提供されます。 SNI は、HTTP/1.1 の名前ベースの仮想ホスティングと概念的に同等ですが、HTTPS 用です。また、複数のサイトがあるために異なる証明書セットが必要になるという問題も解決されます。現在、ServiceNow は SNI をサポートしていません。将来のリリースで SNI のサポートを含める予定です。 Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 最新の SOAPUI と Postman (SNI サポートあり) を使用したコールは正常に動作します。SOAPUI v5.3.0+ は SNI をサポートしています。以前のバージョンでは SNI はサポートされていません。ただし、インスタンスでテストすると、ソケットエラー、ハンドシェイクの失敗、またはその他の問題が発生する可能性があります。SNI の必要性を特定するには、openssl を使用して検証します。コマンドラインでの操作: サーバー名を使用して証明書の取得を試みます (SNI で想定されているとおり)。> openssl s_client -connect :443 -servername ' ' 成功 の証明書を取得します。エラーなしサーバー名を使用せずに証明書の取得を試みます。> openssl s_client -connect :443別の のエラーまたは証明書を返します。次のエラーが表示されます。>> SSL_connect:SSLv2/v3 write client hello A>> SSL_connect:SSLv2/v3 読み取りサーバーハロー A のエラー>> write:errno=54 または、証明書がステップ 1 で取得した証明書と一致しません。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ServiceNow は現在、Jakarta より前のインスタンスの SNI をサポートしていません。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Jakarta より前のインスタンスでは、SNI が不要になるようにサーバーを変更するのが最善の解決策です。たとえば、ServiceNow が SNI をサポートするまでは、統合専用の IP と証明書を使用します。 もう 1 つのオプションは、必要な証明書 (同じ証明書に 2 つの異なる URL がある) を提供することで、サーバーが SNI 情報がない場合にどのように応答するかを定義することです。 警告:同じ証明書を 2 つの異なる URL に提供すると、プロフェッショナルらしくない印象を与える可能性があります Jakarta 以降、すべての送信 HTTP 要求に対して Server Name Indication (SNI) のサポートはデフォルトで無効になっています。インスタンスから直接送信される送信 HTTP 要求の SNI サポートを有効または無効にするには、システムプロパティ glide.outbound.tls_sni.enabled を true または false (デフォルト) に設定します。MID サーバー経由で送信される送信 HTTP 要求の SNI サポートを有効または無効にするには、プロパティ glide.outbound.tls_sni.enabled MID サーバー上で true または false (デフォルト) の値を指定して作成し、MID サーバーを再起動します。詳細については、こちらを参照してください。サーバー名 送信 Web サービスの表示 警告:プロパティを変更した後、要求をテストする前に少なくとも 30 秒待ってから、キャッシュされた接続が再利用されていないことを確認してください