Azure AppServicesのNodeJSアプリをAzureMySQLデータベースに接続できません

おいこのみやき

NodeJS(ExpressJS、Sequelizeを使用)をAzure AppServicesにデプロイしました。データベース接続のない単純なAPIは機能しますが、Azure MySQLデータベースからデータをロードするアプリの部分を使用すると、証明書に問題が発生します。AppServiceログストリームから次のログメッセージを受け取ります。

Unhandled rejection SequelizeConnectionError: unable to get local issuer certificate

ここに画像の説明を入力してください

ファイアウォールを有効にして証明書(BaltimoreCyber​​TrustRoot.crt.pem)を使用する方法についてはここからの手順に従いました

同じ手順を使用して、ラップトップから、次のCLIを使用してリモートのAzureMySQLデータベースに接続できます。

$ mysql -h <my-db>.mysql.database.azure.com -u <my-user> --ssl-mode=REQUIRED --ssl-ca=.\BaltimoreCyberTrustRoot.crt.pem -p

私はこれに関連する他のStackOverflow / Githubの質問に従い、次のような構成に従いました。

const mysql = require('mysql2');
...
var sequelize = new Sequelize(config.db, config.username, config.password, {
    host:    "<my-db>.mysql.database.azure.com",
    port:    3306,
    dialect: 'mysql',
    dialectOptions: {
        ssl: {
            ca: fs.readFileSync(__dirname + "/ssl/BaltimoreCyberTrustRoot.crt.pem")
        }
    }
});

下に追加のキー/証明書を設定する必要がありsslますか?

ssl: {
    key: fs.readFileSync(__dirname + "./certs/client-key.pem"),
    cert: fs.readFileSync(__dirname + "./certs/client-cert.pem"),
    ca: fs.readFileSync(__dirname + "/ssl/BaltimoreCyberTrustRoot.crt.pem")
}

ノード12(Azure App Serviceのノード12.13)を使用していますが、package.json依存関係は次のとおりです。

"dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "faker": "^4.1.0",
    "mysql2": "^2.1.0",
    "sequelize": "^5.21.5"
}
ジェイソンパン

私のテストによると、mysqlに接続できます。キー/証明書を追加するかどうかを指定できます。

追加すると、以下のような私のコードを見ることができます、

/*configuration*/
const sequelizeInstance  = new Sequelize("***db", "azure_root@***mysql", "Ja***.****20", {
host: "***mysql.mysql.database.azure.com",
dialect: 'mysql',
dialectOptions: {
    ssl: {
        ca: fs.readFileSync(path.resolve(__dirname, 'BaltimoreCyberTrustRoot.crt.pem'));
    }
}
});

/*test connection*/
try
{
    sequelizeInstance.authenticate();
    console.log('Connection has been established successfully.');
} 
catch (error) {
    console.error('Unable to connect to the database:', error);
}

そうでない場合は、ドキュメントのssl=trueように設定ます

それがあなたに役立つことを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azure AppServicesのNodeJSアプリをAzureMySQLデータベースに接続できません

分類Dev

postgresサーバーのazureリソースからAzureデータベースに接続できません

分類Dev

Azure上の.NETCoreはSQLServerデータベースに接続できません

分類Dev

「エラー:19-物理接続が使用できません」AzureデータベースのOWINアクセス

分類Dev

Azure CloudServiceは書き込み操作でのみSQLデータベースに接続できません

分類Dev

Azure Web アプリに接続できません - NodeJS から Azure Mysql に

分類Dev

AzureアプリからMSSQLサーバーに接続できません

分類Dev

nodejs + Azure関数アプリ-データベース接続を処理するためのベストプラクティス?

分類Dev

SQL Server Management Studioは接続しますが、Azureデータベースに対して選択を実行できませんか?

分類Dev

いくつかのAzureSQLデータベース、接続文字列、およびAzure AppServices公開プロファイルで移行を使用する方法に関する完全なガイド

分類Dev

Salesforce接続アプリにローカルで接続できますが、Azure関数で公開されている場合は接続できません

分類Dev

Azure SQLServerはデータベースを作成できません

分類Dev

リモートデバッグに接続できません-WebApp Azure

分類Dev

AzureのKubernetesクラスターにyamlをデプロイできません

分類Dev

LaravelアプリケーションがAzureのアプリでMySQLに接続していません

分類Dev

Azureストレージに接続できません

分類Dev

データ ゲートウェイなしで Azure Logic アプリを使用してオンプレミスの SQL データベースに接続しますか?

分類Dev

AzureSQLをAzureのAzureADユーザーに接続できません

分類Dev

Azure Machine LearningでPlainText(JSON)をデータセットに接続できません

分類Dev

Azure Machine Learning Studio:AzureSQLデータベースからデータストアを作成できません

分類Dev

Azureは、アプリサービス構成に格納されている接続文字列にアクセスできません

分類Dev

Azureは、アプリサービス構成に格納されている接続文字列にアクセスできません

分類Dev

現在使用中のため、Azure DataStudioにデータベースを削除できません

分類Dev

AzureはEFCore2アプリケーションの公開時にデータベーススキーマを作成していません

分類Dev

AzureではないリモートデータベースでのReliableDbProvider接続

分類Dev

Azure App ServiceWebアプリをGoogleSQL Serverデータベースに接続するにはどうすればよいですか?

分類Dev

Azure App ServiceWebアプリをGoogleSQL Serverデータベースに接続するにはどうすればよいですか?

分類Dev

Blazor C#アプリをAzure SQLデータベースに接続するにはどうすればよいですか?マックOS

分類Dev

EntityFrameworkを使用してMVCアプリケーションから既存のAzureデータベースに接続する

Related 関連記事

  1. 1

    Azure AppServicesのNodeJSアプリをAzureMySQLデータベースに接続できません

  2. 2

    postgresサーバーのazureリソースからAzureデータベースに接続できません

  3. 3

    Azure上の.NETCoreはSQLServerデータベースに接続できません

  4. 4

    「エラー:19-物理接続が使用できません」AzureデータベースのOWINアクセス

  5. 5

    Azure CloudServiceは書き込み操作でのみSQLデータベースに接続できません

  6. 6

    Azure Web アプリに接続できません - NodeJS から Azure Mysql に

  7. 7

    AzureアプリからMSSQLサーバーに接続できません

  8. 8

    nodejs + Azure関数アプリ-データベース接続を処理するためのベストプラクティス?

  9. 9

    SQL Server Management Studioは接続しますが、Azureデータベースに対して選択を実行できませんか?

  10. 10

    いくつかのAzureSQLデータベース、接続文字列、およびAzure AppServices公開プロファイルで移行を使用する方法に関する完全なガイド

  11. 11

    Salesforce接続アプリにローカルで接続できますが、Azure関数で公開されている場合は接続できません

  12. 12

    Azure SQLServerはデータベースを作成できません

  13. 13

    リモートデバッグに接続できません-WebApp Azure

  14. 14

    AzureのKubernetesクラスターにyamlをデプロイできません

  15. 15

    LaravelアプリケーションがAzureのアプリでMySQLに接続していません

  16. 16

    Azureストレージに接続できません

  17. 17

    データ ゲートウェイなしで Azure Logic アプリを使用してオンプレミスの SQL データベースに接続しますか?

  18. 18

    AzureSQLをAzureのAzureADユーザーに接続できません

  19. 19

    Azure Machine LearningでPlainText(JSON)をデータセットに接続できません

  20. 20

    Azure Machine Learning Studio:AzureSQLデータベースからデータストアを作成できません

  21. 21

    Azureは、アプリサービス構成に格納されている接続文字列にアクセスできません

  22. 22

    Azureは、アプリサービス構成に格納されている接続文字列にアクセスできません

  23. 23

    現在使用中のため、Azure DataStudioにデータベースを削除できません

  24. 24

    AzureはEFCore2アプリケーションの公開時にデータベーススキーマを作成していません

  25. 25

    AzureではないリモートデータベースでのReliableDbProvider接続

  26. 26

    Azure App ServiceWebアプリをGoogleSQL Serverデータベースに接続するにはどうすればよいですか?

  27. 27

    Azure App ServiceWebアプリをGoogleSQL Serverデータベースに接続するにはどうすればよいですか?

  28. 28

    Blazor C#アプリをAzure SQLデータベースに接続するにはどうすればよいですか?マックOS

  29. 29

    EntityFrameworkを使用してMVCアプリケーションから既存のAzureデータベースに接続する

ホットタグ

アーカイブ