Salta al contenuto

Come posso risolvere un errore "ERROR 2026 SSL connection" durante la connessione a un'istanza database Aurora o Amazon RDS per MySQL?

4 minuti di lettura
0

Desidero utilizzare SSL/TLS per connettermi alla mia istanza database o al mio cluster di database Amazon Relational Database Service (Amazon RDS) MySQL. Tuttavia, ricevo il seguente errore: “ERROR 2026 (HY000): SSL connection error.”

Risoluzione

Completa i seguenti passaggi per la risoluzione dell'errore che ricevi.

Nota: nei seguenti comandi di esempio, l'endpoint del cluster è abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com e l'endpoint dell'istanza database è abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com.

SSL certificate validation failure

Per risolvere questo errore, verifica prima di tutto se utilizzi l'endpoint del cluster o l'endpoint dell'istanza database. Per ulteriori informazioni, consulta Amazon RDS per MySQL o Utilizzo di SSL/TLS per crittografare una connessione a un cluster di database.

Se utilizzi un client che supporta i nomi alternativi del soggetto (SAN), puoi utilizzare solo l'endpoint del cluster. Se il client non supporta i SAN, devi utilizzare l'endpoint dell'istanza database primaria.

Nota: il client della linea di comando MySQL predefinito non supporta i SAN.

Se ricevi l'errore di convalida del certificato SSL quando tenti di connetterti all'endpoint del cluster, connettiti all'endpoint dell'istanza database primaria.

Esempio di comando che utilizza l'endpoint del cluster per connettersi:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure

Esempio di comando che utilizza l'endpoint dell'istanza database per connettersi:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rglobal-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26

Server doesn't support SSL

Ricevi questo errore quando la versione del server o del motore che utilizzi non supporta SSL/TLS. Per risolverlo, esegui la migrazione a un motore che supporti le connessioni SSL/TLS.

SSL_CTX_set_default_verify_paths failed

Ricevi questo errore quando il file del certificato non esiste, il percorso del file non è corretto o non hai le autorizzazioni per leggere il file. Puoi ricevere questo errore anche quando non hai le autorizzazioni per la directory in cui è archiviato il file del certificato. Assicurati che il file del certificato si trovi in una directory per la quale hai le autorizzazioni di accesso.

Prima di connetterti, verifica di aver scaricato il certificato corretto. Quando ti connetti, assicurati di utilizzare l'identificatore del certificato corretto e il percorso del certificato corretto.

Per un'istanza Amazon Elastic Compute Cloud (Amazon EC2), il file del certificato del pacchetto globale si trova nella directory Downloads.

Esempio di comando che utilizza il percorso errato del certificato del pacchetto globale per la connessione:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed

Nota: nel comando precedente, viene utilizzata la stringa di connessione della directory Home, ma il certificato del pacchetto globale si trova nella directory Downloads.

Esempio di comando che utilizza il percorso corretto del certificato del pacchetto globale per la connessione:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca /home/ec2-user/Downloads/global-bundle.pem   
--ssl-mode=VERIFY_IDENTITY -u test -p test  
Enter password:  
Welcome to the MySQL monitor. Commands end with ; or \g.   
Your MySQL connection id is 26

Esempio di comando con autorizzazioni insufficienti che tenta la connessione all'istanza database:

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 700 global-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed

Esempio di comando con le autorizzazioni corrette che si connette all'istanza database:

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 755 global-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 810

SSL connection error: error:00000001:lib(0)::reason(1)

Questo errore di connessione viene visualizzato nei seguenti casi:

  • Utilizzi il file del certificato errato.
  • Il file del certificato non corrisponde al certificato richiesto dall'istanza RDS.
  • Il client MySQL non supporta l'identificatore del certificato.

Nota: per i cluster di database Aurora serverless compatibile con MySQL, devi utilizzare comandi compatibili con MySQL 8.0.

Prima di connetterti, verifica di aver scaricato il certificato corretto. Quando ti connetti, assicurati di utilizzare l'identificatore del certificato corretto e il percorso del certificato corretto.

Esempio di comando con certificato errato che tenta la connessione all'endpoint dell'istanza database:

[ec2-user@ip-192-0-2-0 ~]$ mysql -habcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-ca-2019-root.pem --ssl-mode=VERIFY_IDENTITY -u test -p  
Enter password:   
ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0)::reason(1)

Esempio di comando con certificato corretto che si connette all'istanza database:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca  global-bundle.pem --ssl-mode=VERIFY_IDENTITY -u admin -p  
Enter password:   
Welcome to the MySQL monitor.  Commands end with ; or \g.

Informazioni correlate

Utilizzo di TLS/SSL con Aurora serverless v1

AWS UFFICIALEAggiornata 2 anni fa