Estás viendo la documentación de Apigee Edge.
Ir a la documentación de
Apigee X. info
Síntoma
La aplicación cliente obtiene un código de estado HTTP 502 con el mensaje Bad Gateway como respuesta a las llamadas a la API.
El código de estado HTTP 502 significa que el cliente no recibe una respuesta válida de los servidores de backend que deberían satisfacer la solicitud.
Mensajes de error
La aplicación cliente obtiene el siguiente código de respuesta:
HTTP/1.1 502 Bad Gateway
Además, es posible que observes el siguiente mensaje de error:
{
"fault": {
"faultstring": "Unexpected EOF at target",
"detail": {
"errorcode": "messaging.adaptors.http.UnexpectedEOFAtTarget"
}
}
}Causas posibles
Una de las causas típicas de 502 Bad Gateway Error es el error Unexpected EOF, que puede deberse a los siguientes motivos:
| Causa | Detalles | Pasos para |
|---|---|---|
| Servidor de destino configurado de forma incorrecta | El servidor de destino no está configurado correctamente para admitir conexiones TLS/SSL. | Usuarios de la nube pública y privada de Edge |
| EOFException del servidor de backend | El servidor de backend puede enviar EOF de forma abrupta. | Solo para usuarios de la nube privada de Edge |
| Tiempo de espera de Keep-Alive configurado de forma incorrecta | Mantén los tiempos de espera activos en configuración incorrecta en Apigee y el servidor de backend. | Usuarios de la nube pública y privada de Edge |
Pasos comunes de diagnóstico
Para diagnosticar el error, puedes usar cualquiera de los siguientes métodos:
Supervisión de API
Para diagnosticar el error con API Monitoring, haz lo siguiente:
Con la supervisión de la API, puedes investigar los errores 502. Para ello, sigue los pasos que se explican en Investiga problemas. Es decir:
- Ve al panel de Investigación.
- Selecciona el Código de estado en el menú desplegable y asegúrate de que esté seleccionado el período correcto en el que se produjeron los errores
502. - Haz clic en el cuadro de la matriz cuando veas una gran cantidad de errores
502. - En el lado derecho, haz clic en Ver registros para los errores de
502, que se verían de la siguiente manera: - Fault Source es
target. - Código de falla es
messaging.adaptors.http.UnexpectedEOFAtTarget

Aquí podemos ver la siguiente información:
Esto indica que el error 502 se debe al destino debido a un EOF inesperado.
Además, toma nota del Request Message ID para el error 502 para realizar una investigación más detallada.
Herramienta de Trace
Para diagnosticar el error con la herramienta Trace, haz lo siguiente:
- Habilita la
sesión de seguimiento y realiza la llamada a la API para reproducir el problema
502 Bad Gateway. - Selecciona una de las solicitudes con errores y examina el registro.
- Navega por las distintas fases del registro y ubica dónde se produjo la falla.
-
Deberías ver el error después de que se envíe la solicitud al servidor de destino, como se muestra a continuación:


-
Determina el valor de X-Apigee.fault-source y X-Apigee.fault-code en la fase AX (datos de Analytics registrados) del registro.
Si los valores de X-Apigee.fault-source y X-Apigee.fault-code coinciden con los valores que se muestran en la siguiente tabla, puedes confirmar que el error
502proviene del servidor de destino:Encabezados de respuesta Valor X-Apigee.fault-source targetX-Apigee.fault-code messaging.adaptors.http.flow.UnexpectedEOFAtTargetAdemás, toma nota del
X-Apigee.Message-IDpara el error502y así poder investigar más a fondo.
Registros de acceso de NGINX
Para diagnosticar el error con NGINX, haz lo siguiente:
También puedes consultar los registros de acceso de NGINX para determinar la causa del código de estado 502. Esto es particularmente útil si el problema ocurrió en el pasado o si el problema es
intermitente y no puedes capturar el registro en la IU. Sigue estos pasos para determinar esta información a partir de los registros de acceso de NGINX:
- Verifica los registros de acceso de NGINX.
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log - Busca errores de
502para el proxy de API específico durante un período determinado (si el problema ocurrió en el pasado) o para cualquier solicitud que aún falle con502. - Si hay errores de
502, comprueba si el error se debe a que el destino envía unUnexpected EOF. Si los valores de X-Apigee.fault-source y X-Apigee.fault-code coinciden con los valores que se muestran en la siguiente tabla, el error502se debe a que el destino cerró la conexión de forma inesperada:Encabezados de respuesta Valor X-Apigee.fault-source targetX-Apigee.fault-code messaging.adaptors.http.flow.UnexpectedEOFAtTargetA continuación, se muestra una entrada de ejemplo que indica el error
502causado por el servidor de destino:
Además, anota los IDs de los mensajes de los errores 502 para investigarlos más a fondo.
Causa: Servidor de destino configurado de forma incorrecta
El servidor de destino no está configurado correctamente para admitir conexiones TLS/SSL.
Diagnóstico
- Usa API Monitoring, la herramienta de Trace o los registros de acceso de NGINX para determinar el ID del mensaje, el código de error y la fuente del error
502. - Habilita el registro en la IU para la API afectada.
- Si el registro de seguimiento de la solicitud a la API con errores muestra lo siguiente:
- El error
502 Bad Gatewayse muestra en cuanto se inicia la solicitud de flujo de destino. - El
error.classmuestramessaging.adaptors.http.UnexpectedEOF..Entonces, es muy probable que este problema se deba a una configuración incorrecta del servidor de destino.
- El error
- Obtén la definición del servidor de destino con la llamada a la API de administración de Edge:
- Si eres usuario de la nube pública, usa esta API:
curl -v https://api.enterprise.apigee.com/v1/organizations/<orgname>/environments/<envname>/targetservers/<targetservername> -u <username>
- Si eres usuario de Private Cloud, usa esta API:
curl -v http://<management-server-host>:<port #>/v1/organizations/<orgname>/environments/<envname>/targetservers/<targetservername> -u <username>
Ejemplo de definición de
TargetServerdefectuosa:<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> </TargetServer >
- Si eres usuario de la nube pública, usa esta API:
-
La definición de
TargetServerilustrada es un ejemplo de una de las configuraciones incorrectas típicas, que se explica de la siguiente manera:Supongamos que el servidor de destino
mocktarget.apigee.netestá configurado para aceptar conexiones seguras (HTTPS) en el puerto443. Sin embargo, si observas la definición del servidor de destino, no hay otros atributos o marcas que indiquen que está destinado a conexiones seguras. Esto hace que Edge trate las solicitudes a la API que se dirigen al servidor de destino específico como solicitudes HTTP (no seguras). Por lo tanto, Edge no iniciará el proceso de protocolo de enlace SSL con este servidor de destino.Dado que el servidor de destino está configurado para aceptar solo solicitudes HTTPS (SSL) en
443, rechazará la solicitud de Edge o cerrará la conexión. Como resultado, recibirás un errorUnexpectedEOFAtTargeten Message Processor. El Message Processor enviará502 Bad Gatewaycomo respuesta al cliente.
Solución
Siempre asegúrate de que el servidor de destino esté configurado correctamente según tus requisitos.
En el ejemplo ilustrado anterior, si deseas realizar solicitudes a un servidor de destino seguro (HTTPS/SSL), debes incluir los atributos SSLInfo con la marca enabled establecida en true. Si bien se permite agregar los atributos SSLInfo para un servidor de destino en la definición del extremo de destino, se recomienda agregar los atributos SSLInfo como parte de la definición del servidor de destino para evitar confusiones.
- Si el servicio de backend requiere comunicación SSL unidireccional, haz lo siguiente:
- Debes habilitar TLS/SSL en la definición de
TargetServerincluyendo los atributosSSLInfodonde la marcaenabledesté establecida como verdadera, como se muestra a continuación:<TargetServer name="mocktarget"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer> - Si deseas validar el certificado del servidor de destino en Edge, también debemos incluir el almacén de certificados de confianza (que contiene el certificado del servidor de destino), como se muestra a continuación:
<TargetServer name="mocktarget"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Ciphers/> <ClientAuthEnabled>false</ClientAuthEnabled> <Enabled>true</Enabled> <IgnoreValidationErrors>false</IgnoreValidationErrors> <Protocols/> <TrustStore>mocktarget-truststore</TrustStore> </SSLInfo> </TargetServer>
- Debes habilitar TLS/SSL en la definición de
- Si el servicio de backend requiere comunicación SSL bidireccional, haz lo siguiente:
- Debes tener atributos
SSLInfocon las marcasClientAuthEnabled,Keystore,KeyAliasyTruststoreconfiguradas de forma adecuada, como se muestra a continuación:<TargetServer name="mocktarget"> <IsEnabled>true</IsEnabled> <Host>www.example.com</Host> <Port>443</Port> <SSLInfo> <Ciphers/> <ClientAuthEnabled>true</ClientAuthEnabled> <Enabled>true</Enabled> <IgnoreValidationErrors>false</IgnoreValidationErrors> <KeyAlias>keystore-alias</KeyAlias> <KeyStore>keystore-name</KeyStore> <Protocols/> <TrustStore>truststore-name</TrustStore> </SSLInfo> </TargetServer >
- Debes tener atributos
Referencias
Balanceo de cargas entre servidores de backend
Causa: EOFException del servidor de backend
El servidor de backend puede enviar EOF (fin de archivo) de forma abrupta.
Diagnóstico
- Usa API Monitoring, la herramienta de Trace o los registros de acceso de NGINX para determinar el ID del mensaje, el código de error y la fuente del error
502. - Revisa los registros del Message Processor (
/opt/apigee/var/log/edge-message-processor/logs/system.log) y busca para ver si tieneseof unexpectedpara la API específica o si tienes elmessageidúnico para la solicitud a la API. Luego, puedes buscarlo.Ejemplo de seguimiento de pila de excepciones del registro de Message Processor
"message": "org:myorg env:test api:api-v1 rev:10 messageid:rrt-1-14707-63403485-19 NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context$3.onException() : SSLClientChannel[C:193.35.250.192:8443 Remote host:0.0.0.0:50100]@459069 useCount=6 bytesRead=0 bytesWritten=755 age=40107ms lastIO=12832ms .onExceptionRead exception: {} java.io.EOFException: eof unexpected at com.apigee.nio.channels.PatternInputChannel.doRead(PatternInputChannel.java:45) ~[nio-1.0.0.jar:na] at com.apigee.nio.channels.InputChannel.read(InputChannel.java:103) ~[nio-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageReader.onRead(MessageReader.java:79) ~[http-1.0.0.jar:na] at com.apigee.nio.channels.DefaultNIOSupport$DefaultIOChannelHandler.onIO(NIOSupport.java:51) [nio-1.0.0.jar:na] at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:123) [nio-1.0.0.jar:na]"
En el ejemplo anterior, puedes ver que el error
java.io.EOFException: eof unexpectedocurrió mientras el Message Processor intentaba leer una respuesta del servidor de backend. Esta excepción indica el final del archivo (EOF) o que se alcanzó el final de la transmisión de forma inesperada.Es decir, el Message Processor envió la solicitud a la API al servidor de backend y estaba esperando o leyendo la respuesta. Sin embargo, el servidor de backend finalizó la conexión de forma abrupta antes de que el Message Processor recibiera la respuesta o pudiera leer la respuesta completa.
- Revisa los registros del servidor de backend y comprueba si hay errores o información que podrían haber provocado que el servidor de backend finalizara la conexión de forma abrupta. Si encuentras errores o información, ve a Resolución y corrige el problema de forma adecuada en tu servidor de backend.
- Si no encuentras errores ni información en tu servidor de backend, recopila el resultado de
tcpdumpen los procesadores de mensajes:- Si el host de tu servidor de backend tiene una sola dirección IP, usa el siguiente comando:
tcpdump -i any -s 0 host IP_ADDRESS -w FILE_NAME
- Si el host de tu servidor de backend tiene varias direcciones IP, usa el siguiente comando:
tcpdump -i any -s 0 host HOSTNAME -w FILE_NAME
Por lo general, este error se produce porque el servidor de backend responde con
[FIN,ACK]en cuanto el Message Processor envía la solicitud al servidor de backend.
- Si el host de tu servidor de backend tiene una sola dirección IP, usa el siguiente comando:
-
Considera el siguiente ejemplo de
tcpdump.Muestra
tcpdumptomada cuando ocurrió502 Bad Gateway Error(UnexpectedEOFAtTarget)
- En el resultado de TCPDump, notarás la siguiente secuencia de eventos:
- En el paquete
985, el Message Processor envía la solicitud a la API al servidor de backend. - En el paquete
986, el servidor de backend responde de inmediato con[FIN,ACK]. - En el paquete
987, Message Processor responde con[FIN,ACK]al servidor de backend. - Finalmente, las conexiones se cierran con
[ACK]y[RST]desde ambos lados. - Dado que el servidor de backend envía
[FIN,ACK], obtienes la excepciónjava.io.EOFException: eof unexpecteden el procesador de mensajes.
- En el paquete
- Esto puede ocurrir si hay un problema de red en el servidor de backend. Pídele a tu equipo de operaciones de red que investigue más a fondo este problema.
Solución
Corrige el problema en el servidor de backend de forma adecuada.
Si el problema persiste y necesitas ayuda para solucionar problemas relacionados con 502 Bad Gateway Error o sospechas que se trata de un problema en Edge, comunícate con el equipo de asistencia de Apigee Edge.
Causa: Tiempo de espera de conexión activa configurado de forma incorrecta
Antes de diagnosticar si esta es la causa de los errores de 502, lee los siguientes conceptos.
Conexiones persistentes en Apigee
De forma predeterminada (y de acuerdo con el estándar HTTP/1.1), Apigee usa conexiones persistentes cuando se comunica con el servidor de backend de destino. Las conexiones persistentes pueden aumentar el rendimiento, ya que permiten reutilizar una conexión TCP y (si corresponde) TLS/SSL ya establecida, lo que reduce la sobrecarga de latencia. La duración durante la que se debe mantener una conexión se controla a través de una propiedad tiempo de espera de keep-alive (keepalive.timeout.millis).
Tanto el servidor de backend como el Message Processor de Apigee usan tiempos de espera de keep-alive para mantener las conexiones abiertas entre sí. Una vez que no se reciben datos dentro del tiempo de espera de keep-alive, el servidor de backend o el Message Processor pueden cerrar la conexión con el otro.
De forma predeterminada, los proxies de API implementados en un Message Processor en Apigee tienen un tiempo de espera de keep-alive establecido en 60s, a menos que se anule. Una vez que no se reciban datos durante 60s, Apigee cerrará la conexión con el servidor de backend. El servidor de backend también mantendrá un tiempo de espera de conexión activa y, una vez que este expire, el servidor de backend cerrará la conexión con el procesador de mensajes.
Implicación de una configuración incorrecta del tiempo de espera de Keep-Alive
Si Apigee o el servidor de backend están configurados con tiempos de espera keep-alive incorrectos, se produce una condición de carrera que hace que el servidor de backend envíe un End Of File
(FIN) inesperado en respuesta a una solicitud de un recurso.
Por ejemplo, si el tiempo de espera de keep-alive se configura dentro del proxy de API o del procesador de mensajes con un valor mayor o igual que el tiempo de espera del servidor de backend upstream, puede ocurrir la siguiente condición de carrera. Es decir, si el Message Processor no recibe datos hasta muy cerca del umbral de tiempo de espera de conexión activa del servidor de backend, se recibe una solicitud y se envía al servidor de backend a través de la conexión existente. Esto puede generar un 502 Bad Gateway debido a un error de EOF inesperado, como se explica a continuación:
- Supongamos que el tiempo de espera de Keep-Alive establecido tanto en el Message Processor como en el servidor de backend es de 60 segundos y no llegó ninguna solicitud nueva hasta 59 segundos después de que el Message Processor específico atendió la solicitud anterior.
- El Message Processor continúa y procesa la solicitud que llegó en el segundo 59 con la conexión existente (ya que aún no transcurrió el tiempo de espera de keep-alive) y envía la solicitud al servidor de backend.
- Sin embargo, antes de que la solicitud llegue al servidor de backend, ya se superó el umbral de tiempo de espera de conexión persistente en el servidor de backend.
- La solicitud de un recurso del procesador de mensajes está en curso, pero el servidor de backend intenta cerrar la conexión enviando un paquete
FINal procesador de mensajes. - Mientras el Message Processor espera recibir los datos, recibe el
FINinesperado y se cierra la conexión. - Esto genera un
Unexpected EOFy, luego, el Message Processor devuelve un502al cliente.
En este caso, observamos que el error 502 se produjo porque se configuró el mismo valor de tiempo de espera de keep-alive de 60 segundos tanto en el Message Processor como en el servidor de backend. Del mismo modo, este problema también puede ocurrir si se configura un valor más alto para el tiempo de espera de conexión activa en el procesador de mensajes que en el servidor de backend.
Diagnóstico
- Si eres usuario de la nube pública, haz lo siguiente:
- Usa la herramienta de supervisión de API o Trace (como se explica en los pasos de diagnóstico comunes) y verifica que tengas ambos parámetros de configuración siguientes:
- Código de falla:
messaging.adaptors.http.flow.UnexpectedEOFAtTarget - Fuente del error:
target
- Código de falla:
- Consulta Cómo usar tcpdump para realizar una investigación más detallada.
- Usa la herramienta de supervisión de API o Trace (como se explica en los pasos de diagnóstico comunes) y verifica que tengas ambos parámetros de configuración siguientes:
- Si eres usuario de la nube privada, haz lo siguiente:
- Usa la herramienta de seguimiento o los registros de acceso de NGINX para determinar el ID del mensaje, el código de error y la fuente del error
502. - Busca el ID del mensaje en el registro del Message Processor
(/opt/apigee/var/log/edge-message-processor/logs/system.log). - Verás el
java.io.EOFEXception: eof unexpectedcomo se muestra a continuación:2020-11-22 14:42:39,917 org:myorg env:prod api:myproxy rev:1 messageid:myorg-opdk-dc1-node2-17812-56001-1 NIOThread@1 ERROR HTTP.CLIENT - HTTPClient$Context$3.onException() : ClientChannel[Connected: Remote:51.254.225.9:80 Local:10.154.0.61:35326]@12972 useCount=7 bytesRead=0 bytesWritten=159 age=7872ms lastIO=479ms isOpen=true.onExceptionRead exception: {} java.io.EOFException: eof unexpected at com.apigee.nio.channels.PatternInputChannel.doRead(PatternInputChannel.java:45) at com.apigee.nio.channels.InputChannel.read(InputChannel.java:103) at com.apigee.protocol.http.io.MessageReader.onRead(MessageReader.java:80) at com.apigee.nio.channels.DefaultNIOSupport$DefaultIOChannelHandler.onIO(NIOSupport.java:51) at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:220)
- El error
java.io.EOFException: eof unexpectedindica que el Message Processor recibió unEOFmientras aún esperaba leer una respuesta del servidor de backend. - El atributo
useCount=7en el mensaje de error anterior indica que el Message Processor había reutilizado esta conexión unas siete veces, y el atributobytesWritten=159indica que el Message Processor había enviado la carga útil de la solicitud de159bytes al servidor de backend. Sin embargo, no recibió ningún byte cuando se produjo elEOFinesperado. -
Esto muestra que el Message Processor había reutilizado la misma conexión varias veces y, en esta ocasión, envió datos, pero poco después recibió un
EOFantes de que se recibieran datos. Esto significa que hay una alta probabilidad de que el tiempo de espera de keep-alive del servidor de backend sea menor o igual al establecido en el proxy de API.Puedes investigar más a fondo con la ayuda de
tcpdump, como se explica a continuación.
- Usa la herramienta de seguimiento o los registros de acceso de NGINX para determinar el ID del mensaje, el código de error y la fuente del error
Cómo usar tcpdump
- Captura un
tcpdumpen el servidor de backend con el siguiente comando:tcpdump -i any -s 0 host MP_IP_Address -w File_Name
- Analiza los datos de
tcpdumpcapturados:Este es un ejemplo de resultado de tcpdump:

En la muestra
tcpdumpanterior, puedes ver lo siguiente:- En el paquete
5992,, el servidor de backend recibió una solicitudGET. - En el paquete
6064, responde con200 OK. - En el paquete
6084, el servidor de backend recibió otra solicitudGET. - En el paquete
6154, responde con200 OK. - En el paquete
6228, el servidor de backend recibió una tercera solicitudGET. - Esta vez, el servidor de backend devuelve un
FIN, ACKal Message Processor (paquete6285) que inicia el cierre de la conexión.
En este ejemplo, la misma conexión se reutilizó dos veces correctamente, pero en la tercera solicitud, el servidor de backend inicia el cierre de la conexión, mientras el procesador de mensajes espera los datos del servidor de backend. Esto sugiere que el tiempo de espera de keep-alive del servidor de backend probablemente sea más corto o igual al valor establecido en el proxy de API. Para validar esto, consulta Compara el tiempo de espera de Keep-Alive en Apigee y el servidor de backend.
- En el paquete
Compara el tiempo de espera de Keep-Alive en Apigee y el servidor de backend
- De forma predeterminada, Apigee usa un valor de 60 segundos para la propiedad de tiempo de espera de keep-alive.
-
Sin embargo, es posible que hayas anulado el valor predeterminado en el proxy de API. Puedes verificarlo si revisas la definición específica de
TargetEndpointen el proxy de API que falla y muestra errores de502.Ejemplo de configuración de TargetEndpoint:
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>En el ejemplo anterior, la propiedad de tiempo de espera de Keep-Alive se anula con un valor de 30 segundos (
30000milisegundos). - A continuación, verifica la propiedad de tiempo de espera de Keep-Alive configurada en tu servidor de backend. Supongamos que tu servidor de backend está configurado con un valor de
25 seconds. - Si determinas que el valor de la propiedad de tiempo de espera de Keep-Alive en Apigee es mayor que el valor de la propiedad de tiempo de espera de Keep-Alive en el servidor de backend, como en el ejemplo anterior, esa es la causa de los errores
502.
Solución
Asegúrate de que la propiedad de tiempo de espera de keep-alive sea siempre menor en Apigee (en el proxy de API y el componente Message Processor) en comparación con la del servidor de backend.
- Determina el valor establecido para el tiempo de espera de Keep-Alive en el servidor de backend.
- Configura un valor adecuado para la propiedad de tiempo de espera de keep-alive en el proxy de API o el Message Processor, de modo que la propiedad de tiempo de espera de keep-alive sea inferior al valor establecido en el servidor de backend, siguiendo los pasos que se describen en Configuración del tiempo de espera de keep-alive en Message Processors.
Si el problema persiste, consulta Recopila información de diagnóstico.
Práctica recomendada
Se recomienda encarecidamente que los componentes de nivel inferior siempre tengan un umbral de tiempo de espera de conexión activa menor que el configurado en los servidores de nivel superior para evitar este tipo de condiciones de carrera y errores 502. Cada salto de transmisión debe ser inferior a cada salto de transmisión anterior. En Apigee Edge, es una práctica recomendada seguir los siguientes lineamientos:
- El tiempo de espera de conexión activa del cliente debe ser inferior al tiempo de espera de conexión activa del router perimetral.
- El tiempo de espera de conexión activa del router perimetral debe ser inferior al tiempo de espera de conexión activa del Message Processor.
- El tiempo de espera de keep-alive del Message Processor debe ser inferior al tiempo de espera de keep-alive del servidor de destino.
- Si tienes otros saltos delante o detrás de Apigee, se debe aplicar la misma regla. Siempre debes dejar que el cliente de nivel inferior sea el responsable de cerrar la conexión con el nivel superior.
Se debe recopilar información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico y, luego, comunícate con el equipo de asistencia de Apigee Edge.
Si eres usuario de la nube pública, proporciona la siguiente información:
- Nombre de la organización
- Nombre del entorno
- Nombre del proxy de API
- Comando
curlcompleto para reproducir el error502 - Archivo de registro que contiene las solicitudes con el error
502 Bad Gateway - Unexpected EOF - Si los errores de
502no se producen actualmente, proporciona el período con la información de la zona horaria en la que se produjeron los errores de502en el pasado.
Si eres usuario de la nube privada, proporciona la siguiente información:
- Mensaje de error completo observado para las solicitudes con errores
- Organización, nombre del entorno y nombre del proxy de API para los que observas errores de
502 - Paquete de proxy de API
- Archivo de registro que contiene las solicitudes con el error
502 Bad Gateway - Unexpected EOF - Registros de acceso de NGINX
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log - Registros de Message Processor
/opt/apigee/var/log/edge-message-processor/logs/system.log - Período con la información de zona horaria en el que se produjeron los errores de
502 Tcpdumpsrecopilados en los procesadores de mensajes o en el servidor de backend, o en ambos cuando se produjo el error