はじめに
Azure Database for MySQLにプログラム上から接続しようとしたら、Error: self-signed certificate in certificate chain
のエラーが発生したので対処法をメモっておきます。
クイック スタート:Node.js を使用して Azure Database for MySQL に接続してデータを照会する
原因:BaltimoreCyberTrustRoot.crt.pemのせい
どうやらBaltimoreCyberTrustRoot.crt.pem
がいけないようです。
ルートCAの変更云々が別のDocにあったのでこのあたりが原因なのかもです。
Azure Database for MySQL シングル サーバーのルート CA の変更について
対処法
使用するSSL証明書をBaltimoreCyberTrustRoot.crt.pem
からDigiCertGlobalRootCA.crt.pem
に変更しましょう。
基本的に後者のSSL証明書を利用するようにドキュメントを読み替えればOKです。
ファイルのダウンロードURL
Azure Portalからのダウンロード
Azure PortalからAzure Database for MySQLを開き、ネットワークからSSL証明書をダウンロードできます。
最後に
azure-docsにプルリクを投げてみました。