簡體   English   中英

握手期間收到 close_notify SSL 錯誤?

[英]Received close_notify during handshake SSL Error?

我們在生產中遇到了這個奇怪的錯誤,在大容量(每小時約 10,000)的情況下,我們 10% 的呼叫被拒絕,並出現下面提到的 SSL 異常。 自 java 8 次要版本更新(JDK-8028518)以來,這種情況一直在發生。

Received close_notify during handshake
Caused by: javax.net.ssl.SSLProtocolException: Received close_notify during handshake
                at sun.security.ssl.Alert.createSSLException(Alert.java:129)
                at sun.security.ssl.Alert.createSSLException(Alert.java:117)
                at sun.security.ssl.TransportContext.fatal(TransportContext.java:314)

由於這僅在一定比例的調用中失敗,我們無法理解為什么會發生這種情況。

我們使用下面的行在客戶端代碼中設置 ssl 上下文

SSLContext ctx = SSLContext.getInstance(TLS);

javax.net.ssl.SSLProtocolException: Received close_notify during handshake

你能檢查你的服務器線程數配置嗎?

一種可能性可能是在高負載下,更多(相對)高延遲請求導致此問題。

在輕負載下,服務器上可能有足夠的線程來處理所有流量(因為高延遲請求也會相對較少)

一種可能的選擇是

  1. 增加負載均衡器下的實際應用程序服務器
  2. 根據系統的吞吐量減少每個應用程序上配置的線程數。

在我們的例子中,這是因為握手時間太長了。 這是因為在客戶端,在撥打電話之前,我們從安全存儲中讀取的時間過長,導致握手在一半時間中途失敗。 這可以通過引入安全存儲相關對象的緩存來防止一次又一次地實例化它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM