2017-10-10 35 views
1

데비안 스트레치 프로덕션 서버에서 springboot 응용 프로그램을 설정하려고합니다. 응용 프로그램은 TLS 1.2와 HTTP2를 사용하여 임베디드 언더 토 (Undertow)로 실행 했으므로 Windows에서는 완벽하게 작동했지만 Linux에서는 Client Hello 이후에 연결이 끊어지는 것처럼 보입니다. 이는 와이어 샤크의 모습입니다 :Undertow (내 생각 엔) SSL 클라이언트 Hello 후 연결을 닫습니다.

enter image description here

내가 불안 HTTP/그래도 아무 문제없이 1.1을 통해 연결 할 수 있었다. application.properties에서 해제하면 Undertow가 http/1.1로 폴백 (fallback) 할 수 있기 때문에 TLS와 관련이 있다는 것을 확신합니다. (비록 내가 멀티플렉싱 필요)

그리고 나는 그런 행동을 일으킬 수있는 아무것도 찾을 수 없습니다. 자바에서는 오류가 없기 때문에 키 스토어가 아닙니다.

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이 서버에 의해 실제로 야기되고 방화벽 사이의 중간 패킷 검사 middlebox (방화벽 같은)가 아닌지 확인하십시오. –

+0

@SteffenUllrich 실제로 클라이언트 측에서 가져 왔지만 서버 측의 tcpdump도이를 캡처합니다. https://puu.sh/xUshC/77b51ab95e.png –

답변

0

가 내부 결국, 정확히 스토어,하지만 키 쌍 스토어이었다 밝혀 :

내가 윈도우에서 변경했던 유일한 것은

내가 그것을에서 IPv4를 사용하도록 변경했다 JVM 매개 변수를했다. 분명히 별칭에 특수 문자를 넣는 것은 좋은 생각이 아닙니다. 영숫자 별칭으로 전환 한 후에 작동합니다. 무엇이 문제는 소켓 바인딩에 오류가 없다는 것입니다.