在 Tomcat 上使用自簽名憑證時出現間歇性 Curl 35 錯誤

在 Tomcat 上使用自簽名憑證時出現間歇性 Curl 35 錯誤

我們在一系列負載平衡器後面使用自簽名證書,端點使用自簽名證書。

直接使用 CURL 測試端點時,我們會遇到間歇性 SSL 連線錯誤(代碼 35)

以下是失敗嘗試的輸出範例:

捲曲--不安全 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 握手,客戶端問候(1):
  • TLSv1.2 (IN)、TLS 握手、伺服器問候 (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: SSL_ERROR_SYSCALL 與 example.com:9773 連接

這是由於配置錯誤造成的嗎?伺服器效能問題?網路?

伺服器是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>

相關內容