2016-09-17 5 views
3

http (포트 80) 및 https (포트 443)가 모두 활성화 된 Go 응용 프로그램이 있습니다.Golang : http2 및 TLS 핸드 셰이크 오류

  • http2: server: error reading preface from client 79.49.31.60:37993: timeout waiting for client preface

  • http: TLS handshake error from 151.38.29.250:44235: EOF

  • http: TLS handshake error from 2.239.197.163:6742: read tcp x.xxx.xxx.xxx:443->2.239.197.163:6742: i/o timeout

사람이 이러한 참조 무엇인지 설명 할 수

나는 오류의 이러한 삼가지 점점 많은 계속? 것을

참고 : 이러한 모든 요청 (Android 및 iOS 기기에서) 모바일 브라우저에서 오는이

+1

이러한 클라이언트가 귀하의 것이 아닌 경우 무시하십시오. 인터넷에서 잘못 행동하는 클라이언트, 시간 초과 및 연결 끊김은 새로운 것이나 예기치 않은 것입니다. – JimB

답변

3
http2: server: error reading preface from client 79.49.31.60:37993: timeout waiting for client preface 

이는 클라이언트가 시간 초과 서버 이전 http2 연결 서문 (https://tools.ietf.org/html/rfc7540#section-3.5를) 보내지 못했습니다 것을 의미한다.

http: TLS handshake error from 151.38.29.250:44235: EOF 

이 서버와 클라이언트는 TLS 핸드 쉐이크를 수행하는 동안, 서버가 접속이 EOF 일명 폐쇄 반드시 의미한다.

http: TLS handshake error from 2.239.197.163:6742: read tcp x.xxx.xxx.xxx:443->2.239.197.163:6742: i/o timeout 

이 서버가 TLS 핸드 셰이크 중에 클라이언트에서 읽을 기다리는 동안, 클라이언트가 연결을 닫기 전에 아무것도 보내지 않았 음을 의미한다.

@JimB가 지적했듯이, 이들은 완벽하게 정상적으로 보입니다. 시간 초과가 너무 빨리 시작된다고 생각하면 사용자 정의 net.http.Transport : https://golang.org/pkg/net/http/#Transport을 정의하여 사용자 정의 시간을 정의하고 시간 초과 값을 더 높게 설정할 수 있습니다.

+0

Frederik, 귀중한 설명에 감사드립니다. 이러한 모든 요청이 Android 브라우저 및 iOS 기기의 모바일 브라우저에서 발생한다고 생각하면 몇 가지 구체적인 이유가 있습니까? 많은 감사합니다. –

+0

예, 모바일 연결은 RTT가 높고 대역폭이 낮으며 더 많은 패킷 손실이 발생하는 경향이 있습니다. –

관련 문제