Azure SQL データベース エラー: v12 アップグレード後の TLS ハンドシェイク エラー
問題:
Azure SQL Database v12 にアップグレードすると、ユーザーは TLS ハンドシェイクに失敗し、次のエラー メッセージが表示されます。「TLS ハンドシェイクに失敗しました: x509: 証明書は tr12.northcentralus1-a.worker.database.windows.net、*.tr12.northcentralus1 に対して有効です」 -a.worker.database.windows.net, not [server-name].database.windows.net."
トラブルシューティング:
当初は、次のように想定されていました接続文字列を変更する必要があることがわかりました。ただし、機能しているローカル環境と障害が発生した Azure Web アプリの間では一貫性が保たれていました。
解決策:
解決策は接続パラメーターを変更することでした:
最終接続文字列:
Server=[server-name].database.windows.net;Port=1433;Database=[dbname];User ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;Connection Timeout=30; TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;
説明:
TrustServerCertificate パラメーターは、Azure SQL Database サービスによって提供されるサーバー証明書を信頼するかどうかを示します。これを True に設定すると、接続文字列で指定された特定のサーバー名に対して証明書が発行されない場合でも、接続を続行できます。
hostNameInCertificate パラメーターを使用すると、サーバー証明書に指定されたホスト名が含まれている場合に接続が成功します。これにより、指定されたサーバー名とは異なるホスト名に対して証明書が有効になるという問題が解決されます。
Azure Portal Configuration:
Azure portal が提案していることは注目に値します。 TrustServerCertificate を False に設定し、hostNameInCertificate パラメーターを省略します。ただし、この構成では問題は解決されませんでした。
以上がAzure SQL Database v12 がアップグレード後に TLS ハンドシェイク エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。