es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La subaplicación de IIS no está manejando las solicitudes después de la actualización a .NET 6 – devuelve 307.

Después de instalar .NET 6 SDK + hosting bundle, nuestra aplicación dejó de manejar las solicitudes como antes.

La configuración de IIS es la siguiente:
– Una aplicación raíz que se ejecuta en .NET 4.7
– Varias subaplicaciones que se ejecutan en .NET Core 3.1 (fuera del proceso)
– Haproxy delante, enviando solicitudes HTTP no cifradas a IIS (y firmas de solicitudes).

La aplicación raíz funciona bien, pero la subaplicación dejó de manejar las solicitudes como antes.

Después de habilitar los registros de stdout en la subaplicación, veo que llegan las solicitudes, pero parece que el primer segmento de URL no se maneja como debería.

Aquí están los registros:

info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/1.1 GET http://subdomain.domain.net/subapplication/ping 0
trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2]
All hosts are allowed.
dbug: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[4]
La ruta de solicitud /ping no coincide con un tipo de archivo admitido
dbug: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[1]
Redirigiendo a ‘https://subdomain.domain.net/subapplication/ping’.
dbug: Microsoft.AspNetCore.Server.Kestrel[9]
La identificación de conexión “0HMDA5V61D9BR” completada mantiene viva la respuesta.
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Solicitud finalizada en 1,2475 ms 307

Lo que parece estar sucediendo es que la solicitud no pasa por el middleware del controlador y pasa al siguiente: el middleware StaticFile.

Como si después de instalar .NET 6, la subaplicación no tuviera en cuenta su nombre de ruta subapplication en los registros.

Intenté desinstalar .NET 6 (+runtime+hosting bundle, etc.), sin suerte.
También intenté forzar la instalación de .NET 3.1, sin suerte de nuevo.

Estoy sin ideas para restaurar el comportamiento correcto anterior…

¿Qué parámetro podría tener un impacto tan grande en el manejo del primer segmento de URL de la subaplicación? ¿Y cómo solucionarlo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que después de instalar .NET 6, la subaplicación no está al tanto de su nombre de ruta subaplicación en los registros. Esto podría estar haciendo que las solicitudes omitan el middleware de los controladores y vayan al siguiente, el middleware de StaticFile.

    Para intentar solucionar esto, podría intentar desinstalar .NET 6 (+runtime+hosting bundle, etc.) e instalar forzosamente .NET 3.1. Si esto no funciona, podría intentar verificar los parámetros que podrían tener un impacto en el manejo del primer segmento de la URL de la subaplicación.

Comments are closed.