Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Resumen
En este artículo se explica cómo solucionar problemas de una API que devuelve respuestas en blanco y restaura el reenvío de solicitudes en Azure API Management.
Este es el primer escenario del laboratorio de la serie de solución de problemas de Azure API Management. Asegúrese de seguir las instrucciones de configuración del laboratorio de acuerdo con las instrucciones del laboratorio de la serie de resolución de problemas de API Management.
Versión original del producto: servicio API Management
Número de KB original: 4464936
Síntomas
La API en blanco consta de dos operaciones: GetHeaders y GetMyIp.
GetMyIp devuelve el valor del X-FORWARDED-FOR encabezado y GetHeaders devuelve todos los valores del encabezado de solicitud.
GetMyIp devuelve la salida esperada, pero de repente GetHeaders comenzó a devolver una respuesta en blanco (sin cuerpo de respuesta).
La salida esperada de la API GetHeaders debe ser similar al ejemplo siguiente:
{
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.5",
"Connection": "close",
"Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1",
"Host": "eu.httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
}
}
Solución de problemas
Para solucionar este problema, la mejor opción es obtener una traza del inspector de API Management para examinar cómo se procesan las solicitudes dentro de la canalización de API Management.
Observe que falta la forward-request directiva. La directiva forward-request reenvía la solicitud entrante al servicio backend especificado en el forward-request de la solicitud. Si se quita esta directiva, la solicitud no se reenviará al servicio de back-end. Las directivas de la sección de salida se evalúan inmediatamente después de que se completen correctamente las directivas de la sección de entrada.
Consulte la sección <backend> de la operación GetHeaders de Blank-API. Tenga en cuenta que se ha eliminado la forward-request política.
Agregue la forward-request directiva en la sección back-end o agregue el <base /> elemento para que herede la forward-request directiva del nivel primario (nivel de API). Este cambio debe resolver el problema.
Para obtener más información, consulte la directiva forward-request.