Sé que esta pregunta se ha hecho mucho, pero ninguna de las respuestas me ayudó.
Lo que sucede es que estoy publicando mi aplicación .net 5 en IIS en una máquina virtual de Azure. El problema es cuando se conecta al servidor de la base de datos en la VM.
El uso de un servidor SQL de Azure con la siguiente cadena de conexión funciona normalmente:
Server=tcp:serverName.database.windows.net,1433;Initial Catalog=database;Persist Security Info=False;User ID=username;Password=Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Pero usando una cadena de conexión para un servidor SQL que existe en la VM como la siguiente:
Server=ACS;Initial Catalog=database;Persist Security Info=False;User ID=username;Password=Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Está causando el siguiente error:
Error HTTP 500.30: la aplicación ASP.NET Core no pudo iniciarse
Alguien tiene idea de lo que esta pasando?? Creo que es algo relacionado con la seguridad, los permisos en el servidor SQL instalado en la máquina virtual. O que debería agregar un número de puerto a la cadena de conexión. Cualquier ayuda será apreciada, gracias.
De forma predeterminada, SQL Server se instala con certificados X.509 autofirmados. A menos que haya instalado su propio certificado firmado por una CA, o haya exportado la clave pública y la haya agregado a su tienda Trusted Roots, probablemente querrá usar TrustServerCertificate=True; en cambio.