如何解決在連線到 Amazon RDS for MySQL 或 Aurora 資料庫執行個體時發生的錯誤 2026 SSL 連線錯誤?
我正在嘗試使用 Secure Sockets Layer (SSL) 連線到 Amazon Relational Database Service (Amazon RDS) 數據庫實例或叢集。我收到以下錯誤訊息: 「錯誤 2026 (HY000): SSL 連線錯誤」。如何解決 Amazon RDS for MySQL、Amazon Aurora for MySQL 或 Amazon Aurora Serverless 的錯誤 2026?
簡短描述
錯誤 2026 有三種不同類型的錯誤訊息:
- 錯誤 2026 (HY000): SSL 連線錯誤: SSL 憑證驗證失敗
- 錯誤 2026 (HY000): SSL 連線錯誤: 伺服器不支援 SSL
- 錯誤 2026 (HY000): SSL 連線錯誤: ASN:無效的其他簽章確認
請參閱下列針對每個錯誤訊息的疑難排解步驟。
解決方法
錯誤 2026 (HY000): SSL 連線錯誤: SSL 憑證驗證失敗
若要疑難排解此錯誤,請先驗證您使用的是叢集端點還是資料庫執行個體端點。若要了解 Amazon RDS 如何支援 SSL,請參閱[使用 SSL 搭配 MySQL 資料庫執行個體或使用 SSL 搭配 Aurora MySQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Security.html#AuroraMySQL.Security.SSL)。
如果您使用支援主體替代名稱 (SAN) 的用戶端,則只能使用叢集端點。如果您的用戶端不支援 SAN,則必須使用主資料庫執行個體的端點。
**注意:**預設的 MySQL 命令列用戶端不支援 SAN。
如果在嘗試連線到叢集端點時收到此錯誤訊息,請嘗試連線到連線字串中主資料庫執行個體的端點。例如,您可以連線到叢集端點。在下列範例中,叢集端點為 abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com。資料庫執行個體端點為 abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com。
使用叢集端點進行連線
[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
使用資料庫執行個體端點進行連線
[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
錯誤 2026 (HY000): SSL 連線錯誤: 伺服器不支援 SSL
如果您使用的伺服器或引擎版本不支援 SSL,您可能會收到此錯誤訊息。若要解決此錯誤,請遷移至支援 SSL 連線的引擎。
錯誤 2026 (HY000): SSL 連線錯誤: SSL_CTX_set_default_verify_paths 失敗或錯誤 2026 (HY000): SSL 連線錯誤: ASN:無效的其他簽章確認
如果憑證識別碼 (憑證檔案名稱) 不正確,您可能會收到此錯誤訊息。如果 MySQL 用戶端 (例如 Aurora Serverless) 不支援憑證識別碼,您也可能會收到此錯誤訊息。如果您使用 Aurora Serverless 叢集,並使用 MySQL 用戶端連線至 Aurora Serverless,則必須使用與 MySQL 8.0 相容的 MySQL 命令。
請務必使用正確的憑證識別碼名稱和正確的憑證路徑以成功連線。連線之前,請確認您已下載正確的憑證。如需詳細資訊,請參閱使用 SSL 加密指向資料庫執行個體的連線。
根憑證檔案位於 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的下載目錄中。在下列範例中,您輸入錯誤的路徑,導致了錯誤 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
注意:此範例使用主目錄中的連線字串,但根憑證位於下載目錄中。
在下列範例中,您可以使用根憑證的路徑成功連線:
[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
如果您沒有用於存儲憑證之目錄的權限,也可能會收到此錯誤訊息。請確定憑證位於您有權進行存取的目錄中。請參閱下列範例,進行有權限和無權限連線:
在權限不足的情況下進行連線
[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
使用正確的權限進行連線
[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
相關資訊
相關內容
- 已提問 10 個月前lg...
- 已提問 1 年前lg...
- 已提問 10 個月前lg...
- 已提問 4 個月前lg...
- AWS 官方已更新 2 年前