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 간에는 일관성이 유지되었습니다.
해결 방법:
해결책은 연결 매개 변수를 수정하는 데 있습니다.
최종 연결 문자열:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!