2017-10-10 93 views
1

我試圖在Debian Stretch生產服務器上設置我的springboot應用程序。應用程序使用TLS 1.2和HTTP2,所以我使用嵌入式Undertow運行它,並且它在Windows上運行得非常完美,但它似乎只是在Linux上的Client Hello之後纔會斷開連接。 這是它看起來像Wireshark的:Undertow(我認爲)關閉SSL客戶端後的連接你好

enter image description here

我能不安全的HTTP/1.1雖然沒有問題,進行連接。我很確定它與TLS有關,因爲在application.properties中將其關閉允許Undertow回退到http/1.1。 (我需要多路複用雖然)

而我找不到任何可能導致此類行爲的東西。這不是密鑰存儲,因爲我在Java中沒有錯誤。

我不得不從Windows改變的唯一的事情是JVM參數我不得不改變,使其使用IPv4:

java -Xbootclasspath/p:/home/dptools/alpn-boot-8.1.11.v20170118.jar -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses -jar dpTools-0.0.1-SNAPSHOT.jar 
+0

數據包捕獲在哪裏?我假設在客戶端。請在服務器端進行並行數據包捕獲,以驗證FIN實際上是由服務器引起的,而不是由中間的某個深度數據包檢測中間件(如防火牆)引起的。 –

+0

@SteffenUllrich它確實在客戶端,但在服務器端的tcpdump也捕獲它。 https://puu.sh/xUshC/77b51ab95e.png –

回答

0

原來這是密鑰庫畢竟不完全密鑰庫,但裏面密鑰對。顯然在別名中加入特殊字符不是一個好主意。切換到字母數字別名後,它可以工作。我關心的是在套接字綁定中沒有任何錯誤。

相關問題