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

4 minuti di lettura
0

Sto cercando di connettermi alla mia istanza database o al mio cluster di Amazon Relational Database Service (Amazon RDS) utilizzando Secure Sockets Layer (SSL). Ho ricevuto il seguente errore: "ERROR 2026 (HY000): SSL connection error". Come posso risolvere ERROR 2026 per Amazon RDS per MySQL, Amazon Aurora per MySQL o Amazon Aurora Serverless?

Breve descrizione

Esistono tre diversi tipi di messaggi di errore per ERROR 2026:

  • ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure
  • ERROR 2026 (HY000): SSL connection error: Server doesn't support SSL
  • ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation

Consulta i seguenti passaggi per la risoluzione dei problemi per ogni messaggio di errore.

Soluzione

ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure

Per risolvere questo errore, verifica innanzitutto se stai utilizzando l'endpoint del cluster o l'endpoint dell'istanza database. Per scoprire in che modo Amazon RDS supporta SSL, consulta Utilizzo di SSL con un'istanza database MySQL o Utilizzo di SSL con cluster DB Aurora MySQL.

Se utilizzi un client che supporta i Nomi alternativi 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 questo errore quando provi a connetterti all'endpoint del cluster, prova a connetterti all'endpoint dell'istanza database primaria nella stringa di connessione. Ad esempio, puoi connetterti all'endpoint del cluster. Nell'esempio seguente, l'endpoint del cluster è abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com. L'endpoint dell'istanza database è abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com.

Connessione tramite l'endpoint del cluster

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

Connessione tramite l'endpoint dell'istanza database

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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

ERROR 2026 (HY000): SSL connection error: Server doesn't support SSL

Puoi ricevere questo errore se la versione del server o del motore che utilizzi non supporta SSL. Per risolvere questo errore, esegui la migrazione a un motore che supporti le connessioni SSL.

ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed or ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation

Puoi ricevere questo errore se l'identificatore del certificato (nome del file del certificato) non è corretto. Puoi ricevere questo errore anche se l'identificatore del certificato non è supportato dal client MySQL, ad esempio con Aurora Serverless. Se utilizzi i cluster Aurora Serverless e usi il client MySQL per connetterti ad Aurora Serverless, devi utilizzare i comandi MySQL compatibili con MySQL 8.0.

Assicurati di utilizzare il nome identificativo del certificato e il percorso corretti per connetterti con successo. Prima di connetterti, controlla di aver scaricato il certificato corretto. Per ulteriori informazioni, consulta Utilizzo di SSL per crittografare una connessione a un'istanza database.

In un'istanza Amazon Elastic Compute Cloud (Amazon EC2), il file del certificato root si trova nella directory Download. Nell'esempio seguente, è stato inserito il percorso errato, che genera ERROR 2026:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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: Questo esempio utilizza la stringa di connessione nella home directory, ma il certificato root si trova nella directory Download.

Nell'esempio seguente, viene utilizzato il percorso del certificato root per connettersi correttamente:

[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/rds-combined-ca-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

Inoltre, puoi ricevere questo errore se non disponi delle autorizzazioni per la directory in cui è archiviato il certificato. Assicurati che il certificato si trovi in una directory per la quale disponi delle autorizzazioni di accesso. Consulta gli esempi di seguito per connetterti con e senza autorizzazioni:

Connessione con autorizzazioni insufficienti

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 700 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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

Connessione con le autorizzazioni corrette

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 755 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-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

Informazioni correlate

Utilizzo di TLS/SSL con Aurora Serverless

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa