ホームページ  >  記事  >  バックエンド開発  >  Azure SQL Database v12 がアップグレード後に TLS ハンドシェイク エラーをスローするのはなぜですか?

Azure SQL Database v12 がアップグレード後に TLS ハンドシェイク エラーをスローするのはなぜですか?

DDD
DDDオリジナル
2024-10-27 01:15:30337ブラウズ

 Why Does Azure SQL Database v12 Throw a TLS Handshake Failure After Upgrade?

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 アプリの間では一貫性が保たれていました。

解決策:

解決策は接続パラメーターを変更することでした:

  1. TrustServerCertificate を True に設定します。
  2. パラメータ hostNameInCertificate を値 *.database.windows.net で追加します。

最終接続文字列:

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。