>백엔드 개발 >Golang >Azure SQL Database v12에서 업그레이드 후 TLS 핸드셰이크 오류가 발생하는 이유는 무엇입니까?

Azure SQL Database v12에서 업그레이드 후 TLS 핸드셰이크 오류가 발생하는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-27 01:15:30416검색

 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 App 간에는 일관성이 유지되었습니다.

해결 방법:

해결책은 연결 매개 변수를 수정하는 데 있습니다.

  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 구성:

Azure Portal에서 제안하는 점은 주목할 가치가 있습니다. TrustServerCertificate를 False로 설정하고 hostNameInCertificate 매개변수를 생략합니다. 그러나 이 구성으로는 문제가 해결되지 않았습니다.

위 내용은 Azure SQL Database v12에서 업그레이드 후 TLS 핸드셰이크 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.