복붙노트

[HADOOP] 오류 : 140770FC : SSL 루틴 : SSL23_GET_SERVER_HELLO : 알 수없는 프로토콜

HADOOP

오류 : 140770FC : SSL 루틴 : SSL23_GET_SERVER_HELLO : 알 수없는 프로토콜

현재 Cloudera Hadoop Environment의 Encrypted Shuffle을 사용하여 보안을 구현하기 위해 구현 된 변경 사항을 테스트하려고합니다.

필자는 인증서와 키 스토어를 만들어 적절한 위치에 보관했습니다.

TaskTracker의 HTTPS 포트 50060을 테스트하고 있습니다.

내가 그 포트에서 컬을 할 때, 나는 아래의 오류 응답을 얻는다.

ubuntu@node2:~$ curl -v -k "https://10.0.10.90:50060"
* About to connect() to 10.0.10.90 port 50060 (#0)
*   Trying 10.0.10.90... connected
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
* Closing connection #0
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

내가 열린 SSL 클라이언트로 확인했을 때, 나는 아래의 응답을 얻었다.

 ubuntu@node2:~$ openssl s_client -connect 10.0.10.90:50060
CONNECTED(00000003)
139749924464288:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:749:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 225 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

이 문제의 원인을 파악할 수 없습니까?

내가 누락 된 것이 있습니까?

추신 : 나는 ca - certificates.crt 파일을 업데이 트하고 / usr / share / ca - certificates / mozilla 아래에 서버 .crt 파일을 보관

해결법

  1. ==============================

    1.10.0.10.90:50060에서 수신 대기하는 SSL / TLS 서버가없는 것 같습니다. SSL / TLS가 아닌 서버 리스닝이 있습니다.

    10.0.10.90:50060에서 수신 대기하는 SSL / TLS 서버가없는 것 같습니다. SSL / TLS가 아닌 서버 리스닝이 있습니다.

    포트 80 (443이 아니라)을 통해 게이트웨이에 연결할 때 복제 할 수 있습니다.

    $ openssl s_client -connect 192.168.1.1:80
    CONNECTED(00000003)
    140735109476828:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:787:
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 7 bytes and written 517 bytes
    ---
    New, (NONE), Cipher is (NONE)
    Secure Renegotiation IS NOT supported
    Compression: NONE
    Expansion: NONE
    ---
    

    -debug 플래그를 사용하면 OpenSSL이 SSL / TLS 프로토콜 데이터로 해석하려고하는 응답의 HTTP가 표시됩니다.

    $ openssl s_client -connect 192.168.1.1:80 -debug
    CONNECTED(00000003)
    write to 0x7fbf58422b90 [0x7fbf58811800] (348 bytes => 348 (0x15C))
    0000 - 16 03 01 01 57 01 00 01-53 03 03 64 1d 01 29 f0   ....W...S..d..).
    ...
    0150 - 03 02 01 02 02 02 03 00-0f 00 01 01               ............
    read from 0x7fbf58422b90 [0x7fbf58816e00] (7 bytes => 7 (0x7))
    0000 - 48 54 54 50 2f 31 2e                              HTTP/1.
    140735203164636:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:794:
    
  2. ==============================

    2.이 문제가있는 사람 :

    이 문제가있는 사람 :

    내 문제는 기본적으로 ipv4 대신 ipv6을 사용하는 말림 현상입니다. 최종 서버가 ipv6에 응답하도록 적절하게 구성되지 않았으므로 동일한 문제가 발생했습니다. curl이 ipv4를 사용하고 있거나 서버가 ipv6을 사용할 수 있는지 확인하십시오.

  3. ==============================

    3.https에서 Airflow 웹 서버 서비스를 실행하는 중에 이런 종류의 오류가 발생했습니다. 실수로. https를 사용하기위한 .pem 파일 경로 대신 .key 파일 경로 (키) 파일을 언급했습니다.

    https에서 Airflow 웹 서버 서비스를 실행하는 중에 이런 종류의 오류가 발생했습니다. 실수로. https를 사용하기위한 .pem 파일 경로 대신 .key 파일 경로 (키) 파일을 언급했습니다.

    .key 파일 경로 대신 .pem 파일 경로를 수정하여 올바르게 작동합니다.

  4. from https://stackoverflow.com/questions/21135637/error140770fcssl-routinesssl23-get-server-hellounknown-protocol by cc-by-sa and MIT license