簡體   English   中英

嘗試通過 mysql CLI 連接到 mysql Aurora 時出現 SSL 連接錯誤

[英]SSL connection error when trying to connect to mysql Aurora via the mysql CLI

我會先說當我不嘗試通過 SSL 連接到 go 時,我可以連接到數據庫實例。

我在這里遵循本指南

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Connect.html

我確保數據庫實例是面向公眾的。

VPC的安全組有如下規則:

Type Protocol Port Range Source
MySQL/Aurora (3306) TCP (6) 3306 my_ip_address/32
MySQL/Aurora (3306) TCP (6) 3306 sg-security_group_name

其中 security_group_name 是我的 EC2 集群的安全組。

我正在使用我的極光集群的集群端點。 我已經刪除了端口。 我使用自制軟件在我的機器上安裝了 mysql。 這是我從本地機器 (macbook) 嘗試的命令:

mysql -h blah-database-cluster.cluster-dfgdgfd.us-east-1.rds.amazonaws.com --ssl-ca=rds-ssl-ca-cert.pem --ssl-verify-server-cert

其中 rds-ssl-ca-cert.pem 是我從這里下載的文件:

http://s3.amazonaws.com/rds-downloads/rds-ssl-ca-cert.pem

我收到錯誤:

ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

我嘗試過創建一個新實例、重新啟動等,但沒有任何樂趣。 我的安全組是否需要某種 https 規則?

編輯:

進一步的線索。 當我在本地運行 mysql --ssl 時,它不會出錯。 但是當我執行 mysql show_variables 時,它說 SSL false 並且 have_ssl 和 have_open_ssl 變量不存在。 這可能是問題所在嗎? 我通過 homebrew package manager for mac 安裝了本地 mysql。

新編輯:

我重新安裝了 mysql(以前來自 brew),現在直接從 oracle 安裝,當我嘗試連接時出現不同的錯誤 - SSL 連接錯誤:ASN:錯誤的其他簽名確認

  1. 目前,AWS Aurora文檔鏈接到要使用的過期SSL證書,因此存在問題。 這已得到AWS支持人員的確認。 請改用: https//s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

  2. 即使使用該證書,通過SSL連接到群集端點仍然不適用於使用mysql -h連接的命令行。 如果我奇怪地從集群端點更改為實例端點,它可以工作。

  3. 奇怪的是,mysql workbench確實通過ssl連接到實例端點和集群端點。

文檔中可以看出,對SSL連接的實例端點的限制是與證書關聯的安全約束。

Amazon RDS創建SSL證書,並在Amazon RDS配置實例時在數據庫實例上安裝證書。 這些證書由證書頒發機構簽名。 SSL證書包括數據庫實例端點作為SSL證書的公用名(CN),以防止欺騙攻擊。 因此,您無法使用數據庫集群端點使用SSL連接到數據庫集群的主實例。

如果你不使用SSL,請使用帶有--skip-ssl選項的mysql。如果沒有任何幫助升級你的mysql客戶端

對我來說,我不得不使用:

mysql --ssl-mode=DISABLED -u [USER] -p[PASSWORD] -h [HOST] [DB]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM