v12 アップグレード後の Azure SQL Database TLS ハンドシェイク エラー
Azure SQL Database インスタンスを v12 にアップグレードした後、TLS ハンドシェイク エラーが発生する可能性があります。このエラーは、サーバーによって提示された証明書がクライアントの接続文字列で指定されたホスト名と一致しない場合に発生します。
エラーの詳細
エラー メッセージは通常、次のことを示します。証明書は、クライアント接続で使用されるホスト名以外のホスト名に対して有効です。例:
TLS Handshake failed: x509: certificate is valid for tr12.northcentralus1-a.worker.database.windows.net, *.tr12.northcentralus1-a.worker.database.windows.net, not [server-name].database.windows.net
Solution
これを解決するにはこの問題が発生した場合は、クライアント接続文字列を更新して次を含めますパラメータ:
更新された接続文字列
更新された接続文字列は次のようになります:
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;
説明
以前のバージョンの Azure SQL Database では、サーバーの証明書は常に一致していましたクライアント接続文字列で指定されたホスト名。ただし、v12 では、これは保証されなくなりました。 TrustServerCertificate を True に設定し、hostNameInCertificate に正しいホスト名を指定すると、証明書を受け入れて接続を適切に確立するようにクライアントに指示できます。
注:
Azure portal では、TrustServerCertificate を False に設定することを推奨しています。これにより、場合によっては TLS ハンドシェイク エラーが発生する可能性があります。これらのエラーが発生した場合は、TrustServerCertificate を True に設定し、hostNameInCertificate を接続文字列に追加すると、問題が解決されるはずです。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3