Tengo un par de aplicaciones implementadas con parseplaform . Las aplicaciones están funcionando hasta ayer pero desde hoy he recibido que los sistemas no funcionan. Después de gastar, a veces parece que Heroku no acepta solicitudes de la aplicación de análisis.
Las aplicaciones de funciones en la nube del servidor Parse se implementan con Heroku, que habilitó ACM (Administración de certificación automática), que actualmente es TLS v1.2. El nombre de dominio, por ejemplo, https://my-app.herokuapp.com/parse .
Además, mi aplicación CMS se implementa con Appharbor, que está escrito en C# .net framework. Esto también está utilizando la certificación TLS v1.2.
Descubrí que Heroku ya no acepta TLS v.1.0/1.1 . Después de ese cambio, solo estas aplicaciones dejaron de funcionar.
En mi aplicación CMS, mencioné el servidor de la siguiente manera:
<add key="ParseServer" value="https://my-app.herokuapp.com/parse/" />No funciona pero al cambiarlo a HTTP como el siguiente empieza a funcionar:
<add key="ParseServer" value="http://my-app.herokuapp.com/parse/" />Al intentar una solicitud de CMS, por ejemplo, al iniciar sesión de la siguiente manera:
var parseUser = await ParseUser.LogInAsync(username, password);produce un error siguiente:
System.NullReferenceException: 'Object reference not set to an instance of an object.'seguimiento de pila:
at Parse.Internal.HttpClient.<>c__DisplayClass16.<ExecuteAsync>b__d(Task`1 t) at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke() at System.Threading.Tasks.Task.Execute() at Parse.Internal.InternalExtensions.<>c__DisplayClass7`1.<OnSuccess>b__6(Task t) at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() at Parse.Internal.InternalExtensions.<>c__DisplayClass7`1.<OnSuccess>b__6(Task t) at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() at Parse.Internal.InternalExtensions.<>c__DisplayClass7`1.<OnSuccess>b__6(Task t) at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Senterapps.Web.Controllers.LoginController.<Index>d__5.MoveNext() in \path\project\Controller.cs:line 555¿Hay algo que deba verificar más allá de esto? ¿Que estoy haciendo mal? Gracias por adelantado :)
El problema resultó ser un problema de protocolo con mi .net framework 4.5. Entonces, el problema real con las aplicaciones que principalmente no son compatibles con TLSv1.2. Para respaldar eso, agregué la siguiente anulación a mi Global.asax.cs :
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;Tuve la idea mientras leía este artículo en el blog de Microsft. En el futuro, deberá actualizar los marcos .NET y las dependencias de acuerdo con él. hasta que esta sea la solución.