2016-12-21 1 views
0

포트 (TCP/443)에서 https 전용 연결을 수신하려는 내장 Jetty 9.3.11을 사용하는 Java 8 응용 프로그램이 있습니다. 그러나 명확한 HTTP 클라이언트가 연결되면 브라우저는 7 바이트의 작은 파일을 다운로드하게됩니다. 여기에 파일을 출력 중독 것입니다 :Embedded Jetty가 포트 443에서 일반 http로 응답합니다.

$ od -t x1 download 
0000000 15 03 03 00 02 02 50 
0000007 

는 흥미롭게도, 부두 9.1.3이 방식으로 작동하지 않습니다 TLS 전용 포트 443에 텍스트 HTTP를 취소 응답하지 할 필요가있다.

  1. 무엇이 파일과 부작용 내 HTTPS 전용 포트 443에 일반 텍스트 HTTP 요청에 대해있을 수있는 다른 무엇 :

    내 질문은 다음과 같습니다?

  2. 이렇게하면 Jetty가 HTTP에 응답하지 않게 할 수 있습니까?

미리 감사드립니다.

답변

0

바이트는 다음과 같습니다

15 == TLS Alert Message Type 
03 03 == TLS Protocol version 1.2 
00 02 == TLS Frame length 
02 == Alert level Fatal 
50 == Internal Error 

그것은 비 TLS 클라이언트를 이해할 수없는 정상적인 TLS 응답처럼 보인다 :

15 03 03 00 02 02 50 

.

+0

답장을 보내 주셔서 감사합니다. 내가 어떻게 못쓰게 할 수 있는지 아십니까? 서버가 HTTP 클라이언트에 응답하지 않기를 바란다. – banal

+0

ATM이 불가능합니다. Java SSL/TLS 스택은 현재 TLS/1.2 + ALPN의 조합으로 인해 너무 복잡합니다. Java 9가 히트 할 때 ALPN이 내장되어 있기 때문에 가능해질 것입니다. –

+0

TLS가 아닌 TLS를 말하는 것은 비관적입니다. 음성 전화로 팩스를 시작하는 것과별로 다르지 않습니다. 그것은 TLS 스택이 없어야하는 모든 연결을 취한 것 같습니다. 이 트래픽이 TLS 스택과 관련이있는 이유는 무엇입니까? – banal

관련 문제