Tomcat で自己署名証明書を使用すると、断続的に Curl 35 エラーが発生する

Tomcat で自己署名証明書を使用すると、断続的に Curl 35 エラーが発生する

さまざまなロードバランサーの背後で自己署名証明書を使用しており、エンドポイントは自己署名証明書を使用します。

CURL を使用してエンドポイントを直接テストすると、断続的に SSL 接続エラーが発生します (コード 35)

失敗した試行の出力例を次に示します。

curl --insecure example.com/index.html

  • 9773 を試しています...
  • TCP_NODELAY 設定
  • example.com (10.8.49.98) ポート 9773 (#0) に接続しました
  • ALPN、h2を提供
  • ALPN、http/1.1を提供
  • 証明書検証場所を正常に設定しました:
  • CAファイル: /etc/ssl/cert.pem CAパス: なし
  • TLSv1.2 (OUT)、TLSハンドシェイク、クライアントhello (1):
  • TLSv1.2 (IN)、TLSハンドシェイク、サーバーhello (2):
  • TLSv1.2 (IN)、TLSハンドシェイク、証明書(11):
  • TLSv1.2 (IN)、TLSハンドシェイク、サーバー鍵交換(12):
  • TLSv1.2 (IN)、TLSハンドシェイク、サーバー終了(14):
  • TLSv1.2 (OUT)、TLSハンドシェイク、クライアント鍵交換(16):
  • TLSv1.2 (OUT)、TLS 暗号の変更、暗号仕様の変更 (1):
  • TLSv1.2 (OUT)、TLSハンドシェイク、完了 (20):
  • LibreSSL SSL_connect: example.com への接続中に SSL_ERROR_SYSCALL が発生しました
  • 接続 0 を閉じています curl: (35) LibreSSL SSL_connect: example.com:9773 への接続で SSL_ERROR_SYSCALL が発生しました

これは設定ミスによるものでしょうか? サーバーのパフォーマンスの問題でしょうか? ネットワークの問題でしょうか?

サーバーはTomcat 8です。

証明書を作成するために使用したコマンド:

openssl req -x509 -newkey rsa:4096 -nodes -keyout private.pem -out public.crt -days 365 -subj '/CN=example.com'

関連する Tomcat SSL 構成:

<Connector port="9773" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150"
               SSLEnabled="true"
               scheme="https"
               secure="true"
               compression="on"
               address="0.0.0.0"
               >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig
                protocols="TLSv1.2"
                >
            <Certificate
                certificateFile="/ssl/certs/public.crt"
                certificateKeyFile="/ssl/certs/private.pem"
            />
        </SSLHostConfig>
    </Connector>

関連情報