Ho un problema con i certificati autofirmati in un cluster etcd . I certificati sono ok perché se li uso in nginx , non c'è alcun errore finchè aggiungo il file CA al mio negozio di certs.
Questa è una cattura di curl --cacert ca.pem https://192.168.73.120:2379 quando si usa nginx . link
Tuttavia, se invece di usare nginx uso etcd (che è il vero servizio che voglio configurare), un curl --cacert ca.pem https://192.168.73.120:2379/v2/keys per esempio, lancia curl: (35) Unknown SSL protocol error in connection to 192.168.73.120:-9825 in Mac OS o curl: (35) gnutls_handshake() failed: Certificate is bad in Linux.
Quanto segue è un'acquisizione di rete quando si utilizza etcd collegamento . Come puoi vedere nel pacchetto 21, il server restituisce un Bad certificate .
Alcune ricerche sul codice di errore curl 35 indicano che il motivo potrebbe essere:
- Cipher: non è un problema, entrambi utilizzano
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - Permessi: non è un problema, i file cert sono impostati a 644 e i file chiave a 600.
- Procotol: non è un problema, entrambi usano
TLSv1.2 - Chiave privata scaduta: è stata appena generata con 365 giorni di durata, quindi non è scaduta.
Se utilizzo Chrome , ottengo ERR_BAD_SSL_CLIENT_AUTH_CERT . Tuttavia, controllando la console, il certificato è valido (perché ho aggiunto la CA al mio negozio).
Quindi davvero non ho idee in questo momento. Quale pensi possa essere la radice di questo problema?