Rumah >pembangunan bahagian belakang >Golang >Mengapa Pangkalan Data Azure SQL v12 Melemparkan Kegagalan Jabat Tangan TLS Selepas Peningkatan?

Mengapa Pangkalan Data Azure SQL v12 Melemparkan Kegagalan Jabat Tangan TLS Selepas Peningkatan?

DDD
DDDasal
2024-10-27 01:15:30421semak imbas

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

Ralat Pangkalan Data Azure SQL: Kegagalan Jabat Tangan TLS selepas Peningkatan v12

Isu:

Mengikuti peningkatan kepada Azure SQL Database v12, pengguna menghadapi kegagalan jabat tangan TLS dengan mesej ralat: "TLS Handshake failed: x509: certificate is valid for tr12.northcentralus1-a.worker.database.windows.net, *.tr12.northcentralus1 -a.worker.database.windows.net, bukan [server-name].database.windows.net."

Penyelesaian masalah:

Pada mulanya, ia telah diandaikan bahawa rentetan sambungan perlu diubah suai. Walau bagaimanapun, ia kekal konsisten antara persekitaran setempat yang berfungsi dan Apl Web Azure di mana kegagalan berlaku.

Penyelesaian:

Penyelesaian terletak pada mengubah suai parameter sambungan:

  1. Tetapkan TrustServerCertificate kepada True.
  2. Tambahkan parameter hostNameInCertificate dengan nilai *.database.windows.net.

Rentetan Sambungan Akhir:

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:

Parameter TrustServerCertificate menunjukkan sama ada untuk mempercayai sijil pelayan yang disediakan oleh perkhidmatan Pangkalan Data Azure SQL. Menetapkannya kepada True membolehkan sambungan diteruskan walaupun sijil tidak dikeluarkan untuk nama pelayan khusus yang dinyatakan dalam rentetan sambungan.

Parameter hostNameInCertificate membenarkan sambungan berjaya jika sijil pelayan mengandungi nama hos yang ditentukan. Ini menangani isu sijil yang sah untuk nama hos yang berbeza daripada nama pelayan yang ditentukan.

Konfigurasi Portal Azure:

Perlu diingat bahawa portal Azure mencadangkan menetapkan TrustServerCertificate kepada False dan meninggalkan parameter hostNameInCertificate. Walau bagaimanapun, konfigurasi ini tidak menyelesaikan isu ini.

Atas ialah kandungan terperinci Mengapa Pangkalan Data Azure SQL v12 Melemparkan Kegagalan Jabat Tangan TLS Selepas Peningkatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn