web-dev-qa-db-ja.com

SQLAlchemyでのSSLの使用

最近、SQLAlchemyを使用するようにプロジェクトを変更しました。私のプロジェクトは正常に実行され、外部のMySQLサーバーを使用しました。

現在、SSL CAを使用して別のMySQLサーバーを操作しようとしていますが、接続できません。

(MySQL Workbenchを使用して接続したため、証明書は問題ないはずです)

次のコードを使用しています。

ssl_args = {'ssl': {'ca': ca_path}}
engine = create_engine("mysql+pymysql://<user>:<pass>@<addr>/<schema>",
                        connect_args=ssl_args)

そして私は次のエラーを受け取ります:

'\ addr \'上のMySQLサーバーに接続できません([WinError 10054]既存の接続がリモートホストによって強制的に閉じられました)

助言がありますか?

13
Shahaf Finder

DBAPIをMySQL-Connectorに変更し、次のコードを使用しました。

ssl_args = {'ssl_ca': ca_path}
engine = create_engine("mysql+mysqlconnector://<user>:<pass>@<addr>/<schema>",
                        connect_args=ssl_args)

そして今それは動作します。

3
shahaf finder

クライアントマシンからssl接続で接続するだけの場合(証明書とキーにアクセスできないため)、URIにssl = trueを追加するだけです。

0
Ben