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?