Rumah >pembangunan bahagian belakang >Golang >Mengapakah saya mendapat ralat Jabat Tangan TLS selepas menaik taraf Pangkalan Data Azure SQL saya kepada v12?
Azure SQL Database TLS Handshake Ralat selepas v12 Naik Taraf
Anda mungkin menghadapi ralat TLS Handshake selepas contoh Azure SQL Database dinaik taraf kepada v12 . Ralat ini berlaku apabila sijil yang dibentangkan oleh pelayan tidak sepadan dengan nama hos yang dinyatakan dalam rentetan sambungan klien.
Butiran Ralat
Mesej ralat biasanya menunjukkan bahawa sijil adalah sah untuk nama hos selain daripada yang digunakan dalam sambungan klien. Contohnya:
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
Penyelesaian
Untuk menyelesaikan isu ini, kemas kini rentetan sambungan klien untuk memasukkan parameter berikut:
Rentetan Sambungan Dikemas Kini
Rentetan sambungan yang dikemas kini sepatutnya kelihatan seperti ini :
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;
Penjelasan
Dalam versi Pangkalan Data Azure SQL sebelumnya, sijil pelayan sentiasa sepadan dengan nama hos yang dinyatakan dalam rentetan sambungan klien. Walau bagaimanapun, dalam v12, ini tidak lagi dijamin. Dengan menetapkan TrustServerCertificate kepada True dan menyatakan nama hos yang betul dalam hostNameInCertificate, anda boleh mengarahkan pelanggan untuk menerima sijil dan mewujudkan sambungan dengan betul.
Nota:
Walaupun Portal Azure mencadangkan menetapkan TrustServerCertificate kepada False, ini mungkin membawa kepada ralat Jabat Tangan TLS dalam beberapa kes. Jika anda menghadapi ralat ini, menetapkan TrustServerCertificate kepada True dan menambahkan hostNameInCertificate pada rentetan sambungan harus menyelesaikan isu tersebut.
Atas ialah kandungan terperinci Mengapakah saya mendapat ralat Jabat Tangan TLS selepas menaik taraf Pangkalan Data Azure SQL saya kepada v12?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!