Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Sintomo
L'applicazione client riceve un codice di stato HTTP 502 con il messaggio
Bad Gateway come risposta per le chiamate API.
Il codice di stato HTTP 502 indica che il client non riceve una risposta valida dai server di backend che dovrebbero soddisfare la richiesta.
Messaggi di errore
L'applicazione client riceve il seguente codice di risposta:
HTTP/1.1 502 Bad Gateway
Inoltre, potresti visualizzare il seguente messaggio di errore:
{
"fault": {
"faultstring": "Unexpected EOF at target",
"detail": {
"errorcode": "messaging.adaptors.http.UnexpectedEOFAtTarget"
}
}
}Possibili cause
Una delle cause tipiche di 502 Bad Gateway Error è l'errore Unexpected EOF, che può essere causato dai seguenti motivi:
| Causa | Dettagli | Passaggi forniti per |
|---|---|---|
| Server di destinazione configurato in modo errato | Il server di destinazione non è configurato correttamente per supportare le connessioni TLS/SSL. | Utenti di Edge Public e Private Cloud |
| EOFException dal server di backend | Il server di backend potrebbe inviare EOF bruscamente. | Solo utenti di Edge Private Cloud |
| Timeout keep-alive configurato in modo errato | Timeout keep-alive configurati in modo errato su Apigee e sul server di backend. | Utenti di Edge Public e Private Cloud |
Passaggi di diagnostica comuni
Per diagnosticare l'errore, puoi utilizzare uno dei seguenti metodi:
Monitoraggio delle API
Per diagnosticare l'errore utilizzando API Monitoring:
Utilizzando API Monitoring puoi esaminare
gli errori 502 seguendo i passaggi descritti in
Esaminare i problemi. Ossia:
- Vai alla dashboard Analizza.
- Seleziona Codice di stato nel menu a discesa e assicurati che sia selezionato il periodo di tempo
corretto in cui si sono verificati gli errori
502. - Fai clic sulla casella nella matrice quando visualizzi un numero elevato di errori
502. - Sul lato destro, fai clic su Visualizza log per gli errori
502che avranno un aspetto simile al seguente: - Fault Source è
target - Fault Code è
messaging.adaptors.http.UnexpectedEOFAtTarget

Qui possiamo vedere le seguenti informazioni:
Ciò indica che l'errore 502 è causato dalla destinazione a causa di EOF imprevisto.
Inoltre, prendi nota del Request Message ID per l'errore 502 per ulteriori
accertamenti.
Strumento Traccia
Per diagnosticare l'errore utilizzando lo strumento Trace:
- Attiva la
sessione di tracciamento ed effettua la chiamata API per riprodurre il problema
502 Bad Gateway. - Seleziona una delle richieste non riuscite ed esamina la traccia.
- Esamina le varie fasi della traccia e individua il punto in cui si è verificato l'errore.
-
Dovresti visualizzare l'errore dopo l'invio della richiesta al server di destinazione, come mostrato di seguito:


-
Determina il valore di X-Apigee.fault-source e X-Apigee.fault-code nella fase AX (Analytics Data Recorded) nella traccia.
Se i valori di X-Apigee.fault-source e X-Apigee.fault-code corrispondono ai valori mostrati nella tabella seguente, puoi confermare che l'errore
502proviene dal server di destinazione:Intestazioni della risposta Valore X-Apigee.fault-source targetX-Apigee.fault-code messaging.adaptors.http.flow.UnexpectedEOFAtTargetInoltre, annota il
X-Apigee.Message-IDper l'errore502per ulteriori accertamenti.
Log degli accessi NGINX
Per diagnosticare l'errore utilizzando NGINX:
Puoi anche fare riferimento ai log di accesso NGINX per determinare la causa del codice di stato 502. Ciò è particolarmente utile se il problema si è verificato in passato o se è intermittente e non riesci ad acquisire la traccia nell'interfaccia utente. Per determinare queste informazioni dai log di accesso NGINX:
- Controlla i log di accesso di NGINX.
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log - Cerca eventuali errori
502per il proxy API specifico durante un periodo di tempo specifico (se il problema si è verificato in passato) o per eventuali richieste ancora non riuscite con502. - Se sono presenti errori
502, controlla se l'errore è causato dalla destinazione che invia unUnexpected EOF. Se i valori di X-Apigee.fault-source e X- Apigee.fault-code corrispondono a quelli mostrati nella tabella seguente, l'errore502è causato dalla chiusura imprevista della connessione da parte della destinazione:Intestazioni della risposta Valore X-Apigee.fault-source targetX-Apigee.fault-code messaging.adaptors.http.flow.UnexpectedEOFAtTargetEcco una voce di esempio che mostra l'errore
502causato dal server di destinazione:
Inoltre, annota gli ID messaggio degli errori 502 per ulteriori indagini.
Causa: server di destinazione configurato in modo errato
Il server di destinazione non è configurato correttamente per supportare le connessioni TLS/SSL.
Diagnosi
- Utilizza API Monitoring, lo strumento Trace o i
log di accesso NGINX per determinare l'ID messaggio, il
codice di errore e l'origine dell'errore
502. - Abilita la traccia nell'interfaccia utente per l'API interessata.
- Se la traccia della richiesta API non riuscita mostra quanto segue:
- L'errore
502 Bad Gatewayviene visualizzato non appena è iniziata la richiesta di flusso di destinazione. error.classmostramessaging.adaptors.http.UnexpectedEOF.In questo caso, è molto probabile che il problema sia causato da una configurazione errata del server di destinazione.
- L'errore
- Recupera la definizione del server di destinazione utilizzando la chiamata API di gestione Edge:
- Se sei un utente del cloud pubblico, utilizza questa API:
curl -v https://api.enterprise.apigee.com/v1/organizations/<orgname>/environments/<envname>/targetservers/<targetservername> -u <username>
- Se sei un utente di Private Cloud, utilizza questa API:
curl -v http://<management-server-host>:<port #>/v1/organizations/<orgname>/environments/<envname>/targetservers/<targetservername> -u <username>
Esempio di definizione di
TargetServererrata:<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> </TargetServer >
- Se sei un utente del cloud pubblico, utilizza questa API:
-
La definizione illustrata di
TargetServerè un esempio di una delle tipiche configurazioni errate, spiegata come segue:Supponiamo che il server di destinazione
mocktarget.apigee.netsia configurato per accettare connessioni sicure (HTTPS) sulla porta443. Tuttavia, se esamini la definizione del server di destinazione, non sono presenti altri attributi/flag che indicano che è destinato a connessioni sicure. In questo modo, Edge tratta le richieste API inviate al server di destinazione specifico come richieste HTTP (non sicure). Pertanto, Edge non avvierà il processo di handshake SSL con questo server di destinazione.Poiché il server di destinazione è configurato per accettare solo richieste HTTPS (SSL) su
443, rifiuterà la richiesta da Edge o chiuderà la connessione. Di conseguenza, viene visualizzato un erroreUnexpectedEOFAtTargetnel processore di messaggi. Il processore di messaggi invierà502 Bad Gatewaycome risposta al client.
Risoluzione
Assicurati sempre che il server di destinazione sia configurato correttamente in base ai tuoi requisiti.
Per l'esempio illustrato sopra, se vuoi effettuare richieste a un server di destinazione sicuro (HTTPS/SSL),
<x0A> devi includere gli attributi SSLInfo con il flag enabled impostato su true. Sebbene sia consentito aggiungere gli attributi SSLInfo per un server di destinazione nella definizione dell'endpoint di destinazione, è consigliabile aggiungere gli attributi SSLInfo come parte della definizione del server di destinazione per evitare confusione.
- Se il servizio di backend richiede la comunicazione SSL unidirezionale:
- Devi attivare TLS/SSL nella definizione
TargetServerincludendo gli attributiSSLInfoin cui il flagenabledè impostato su true, come mostrato di seguito:<TargetServer name="mocktarget"> <Host>mocktarget.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer> - Se vuoi convalidare il certificato del server di destinazione in Edge, dobbiamo anche
includere il truststore (contenente il certificato del server di destinazione) come mostrato di seguito:
<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>
- Devi attivare TLS/SSL nella definizione
- Se il servizio di backend richiede la comunicazione SSL bidirezionale, allora:
- Devi avere attributi
SSLInfocon i flagClientAuthEnabled,Keystore,KeyAliaseTruststoreimpostati in modo appropriato, come mostrato di seguito:<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 >
- Devi avere attributi
Riferimenti
Bilanciamento del carico tra server di backend
Causa: EOFException dal server di backend
Il server di backend potrebbe inviare EOF (End of File) bruscamente.
Diagnosi
- Utilizza API Monitoring, lo strumento Trace o i
log di accesso NGINX per determinare l'ID messaggio, il
codice di errore e l'origine dell'errore
502. - Controlla i log del processore di messaggi
(
/opt/apigee/var/log/edge-message-processor/logs/system.log) e cerca per vedere se haieof unexpectedper l'API specifica o se haimessageidunivoco per la richiesta API, quindi puoi cercarlo.Esempio di analisi dello stack delle eccezioni dal log del processore di messaggi
"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]"
Nell'esempio precedente, puoi notare che l'errore
java.io.EOFException: eof unexpectedsi è verificato mentre il processore di messaggi tenta di leggere una risposta dal server di backend. Questa eccezione indica che la fine del file (EOF) o dello stream è stata raggiunta in modo imprevisto.ovvero il processore di messaggi ha inviato la richiesta API al server di backend e stava aspettando o leggendo la risposta. Tuttavia, il server di backend ha interrotto bruscamente la connessione prima che il processore di messaggi ricevesse la risposta o potesse leggere la risposta completa.
- Controlla i log del server di backend e verifica la presenza di errori o informazioni che potrebbero aver portato il server di backend a interrompere bruscamente la connessione. Se trovi errori/informazioni, vai a Risoluzione e correggi il problema in modo appropriato nel server di backend.
- Se non trovi errori o informazioni nel server di backend, raccogli l'output
tcpdumpsui Message Processor:- Se l'host del server di backend ha un solo indirizzo IP, utilizza il seguente comando:
tcpdump -i any -s 0 host IP_ADDRESS -w FILE_NAME
- Se l'host del server di backend ha più indirizzi IP, utilizza il seguente comando:
tcpdump -i any -s 0 host HOSTNAME -w FILE_NAME
In genere, questo errore è causato dal fatto che il server di backend risponde con
[FIN,ACK]non appena il processore di messaggi invia la richiesta al server di backend.
- Se l'host del server di backend ha un solo indirizzo IP, utilizza il seguente comando:
-
Considera il seguente esempio di
tcpdump.Campione
tcpdumpacquisito quando si è verificato502 Bad Gateway Error(UnexpectedEOFAtTarget)
- Dall'output di TCPDump, noti la seguente sequenza di eventi:
- Nel pacchetto
985, il processore di messaggi invia la richiesta API al server di backend. - Nel pacchetto
986, il server di backend risponde immediatamente con[FIN,ACK]. - Nel pacchetto
987, il processore di messaggi risponde con[FIN,ACK]al server di backend. - Alla fine le connessioni vengono chiuse con
[ACK]e[RST]da entrambe le parti. - Poiché il server di backend invia
[FIN,ACK], ricevi l'eccezionejava.io.EOFException: eof unexpectedsul processore di messaggi.
- Nel pacchetto
- Ciò può verificarsi se si verifica un problema di rete nel server di backend. Contatta il team operativo della tua rete per ulteriori indagini.
Risoluzione
Risolvi il problema sul server di backend in modo appropriato.
Se il problema persiste e hai bisogno di assistenza per la risoluzione dei problemi di 502 Bad Gateway Error o se
sospetti che si tratti di un problema all'interno di Edge, contatta l'assistenza Apigee Edge.
Causa: timeout keep-alive configurato in modo errato
Prima di diagnosticare se questa è la causa degli errori 502, leggi
i seguenti concetti.
Connessioni permanenti in Apigee
Per impostazione predefinita (e in conformità allo standard HTTP/1.1), Apigee utilizza connessioni permanenti
quando comunica con il server di backend di destinazione. Le connessioni permanenti possono migliorare le prestazioni
consentendo il riutilizzo di una connessione TCP e (se applicabile) TLS/SSL già stabilita, il che
riduce gli overhead di latenza. La durata per cui una connessione deve essere mantenuta è controllata
tramite una proprietà keep alive timeout (keepalive.timeout.millis).
Sia il server di backend sia Apigee processore di messaggi utilizzano i timeout keep-alive per mantenere aperte le connessioni tra loro. Una volta che non vengono ricevuti dati entro il timeout keep-alive, il server di backend o il processore di messaggi può chiudere la connessione con l'altro.
Per impostazione predefinita, i proxy API di cui è stato eseguito il deployment in un processore di messaggi in Apigee hanno un timeout keep-alive impostato su
60s, a meno che non venga sostituito. Una volta che non vengono ricevuti dati per 60s, Apigee
chiuderà la connessione con il server di backend. Il server di backend manterrà anche un timeout keep-alive e, una volta scaduto, chiuderà la connessione con il processore di messaggi.
Implicazioni di una configurazione errata del timeout keep-alive
Se Apigee o il server di backend sono configurati con timeout keep-alive errati, si verifica una race condition che fa sì che il server di backend invii un End Of File
(FIN) imprevisto in risposta a una richiesta di una risorsa.
Ad esempio, se il timeout keep-alive è configurato all'interno del proxy API o del processore di messaggi con un valore maggiore o uguale al timeout del server di backend upstream, può verificarsi la seguente race condition. ovvero, se il processore di messaggi non riceve dati fino a quando non si avvicina molto alla soglia del timeout keep-alive del server di backend, viene inviata una richiesta al server di backend utilizzando la connessione esistente. Ciò può comportare
502 Bad Gateway a causa dell'errore Unexpected EOF, come spiegato di seguito:
- Supponiamo che il timeout keep-alive impostato sia sul processore di messaggi che sul server di backend sia di 60 secondi e che non sia arrivata alcuna nuova richiesta fino a 59 secondi dopo che la richiesta precedente è stata gestita dal processore di messaggi specifico.
- Il processore di messaggi procede all'elaborazione della richiesta arrivata al 59° secondo utilizzando la connessione esistente (poiché il timeout keep-alive non è ancora trascorso) e invia la richiesta al server di backend.
- Tuttavia, prima che la richiesta arrivi al server di backend, la soglia di timeout keep-alive è stata superata sul server di backend.
- La richiesta di una risorsa da parte del processore di messaggi è in corso, ma il server di backend
tenta di chiudere la connessione inviando un pacchetto
FINal processore di messaggi. - Mentre il processore di messaggi è in attesa di ricevere i dati, riceve invece
l'
FINimprevisto e la connessione viene terminata. - Il risultato è un
Unexpected EOFe successivamente un502viene restituito al client dal processore di messaggi.
In questo caso, abbiamo osservato che si è verificato l'errore 502 perché lo stesso valore di timeout keep-alive
di 60 secondi è stato configurato sia sul processore di messaggi sia sul server di backend. Allo stesso modo,
questo problema può verificarsi anche se è configurato un valore più alto per il timeout keep-alive nel processore di messaggi rispetto al server di backend.
Diagnosi
- Se sei un utente del cloud pubblico:
- Utilizza lo strumento API Monitoring o Trace (come spiegato in
Passaggi comuni per la diagnosi) e verifica di aver configurato entrambe le seguenti
impostazioni:
- Codice di errore:
messaging.adaptors.http.flow.UnexpectedEOFAtTarget - Origine del guasto:
target
- Codice di errore:
- Per ulteriori accertamenti, consulta Utilizzo di tcpdump.
- Utilizza lo strumento API Monitoring o Trace (come spiegato in
Passaggi comuni per la diagnosi) e verifica di aver configurato entrambe le seguenti
impostazioni:
- Se sei un utente di Private Cloud:
- Utilizza lo strumento di tracciamento o i
log di accesso NGINX per determinare l'ID messaggio,
il codice di errore e l'origine dell'errore
502. - Cerca l'ID messaggio nel log del processore di messaggi
(/opt/apigee/var/log/edge-message-processor/logs/system.log). - Vedrai
java.io.EOFEXception: eof unexpectedcome mostrato di seguito: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)
- L'errore
java.io.EOFException: eof unexpectedindica che il processore di messaggi ha ricevuto unEOFmentre era ancora in attesa di leggere una risposta dal server di backend. - L'attributo
useCount=7nel messaggio di errore precedente indica che il processore di messaggi aveva riutilizzato questa connessione circa sette volte e l'attributobytesWritten=159indica che il processore di messaggi aveva inviato il payload della richiesta di159byte al server di backend. Tuttavia, ha ricevuto zero byte quando si è verificato l'errore imprevistoEOF. -
Ciò dimostra che il processore di messaggi aveva riutilizzato più volte la stessa connessione e in questa occasione ha inviato dati, ma poco dopo ha ricevuto un
EOFprima di ricevere dati. Ciò significa che esiste un'alta probabilità che il timeout keep-alive del server di backend sia inferiore o uguale a quello impostato nel proxy API.Puoi approfondire l'argomento con l'aiuto di
tcpdump, come spiegato di seguito.
- Utilizza lo strumento di tracciamento o i
log di accesso NGINX per determinare l'ID messaggio,
il codice di errore e l'origine dell'errore
Utilizzo di tcpdump
- Acquisisci un
tcpdumpsul server di backend con il seguente comando:tcpdump -i any -s 0 host MP_IP_Address -w File_Name
- Analizza i
tcpdumpacquisiti:Ecco un output di tcpdump di esempio:

Nell'esempio
tcpdumpriportato sopra, puoi vedere quanto segue:- Nel pacchetto
5992,il server di backend ha ricevuto una richiestaGET. - Nel pacchetto
6064, risponde con200 OK. - Nel pacchetto
6084, il server di backend ha ricevuto un'altra richiestaGET. - Nel pacchetto
6154, risponde con200 OK. - Nel pacchetto
6228, il server di backend ha ricevuto una terza richiestaGET. - Questa volta, il server di backend restituisce un
FIN, ACKal processore di messaggi (pacchetto6285) che avvia la chiusura della connessione.
In questo esempio, la stessa connessione è stata riutilizzata due volte correttamente, ma alla terza richiesta, il server di backend avvia la chiusura della connessione, mentre il processore di messaggi è in attesa dei dati dal server di backend. Ciò suggerisce che il timeout keep-alive del server di backend è molto probabilmente inferiore o uguale al valore impostato nel proxy API. Per convalidare questo, vedi Confrontare il timeout keep-alive su Apigee e sul server di backend.
- Nel pacchetto
Confrontare il timeout keep-alive su Apigee e sul server di backend
- Per impostazione predefinita, Apigee utilizza un valore di 60 secondi per la proprietà di timeout keep-alive.
-
Tuttavia, è possibile che tu abbia sostituito il valore predefinito nel proxy API. Puoi verificarlo controllando la definizione specifica di
TargetEndpointnel proxy API non riuscito che genera errori502.Esempio di configurazione di TargetEndpoint:
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>Nell'esempio precedente, la proprietà di timeout keep-alive viene sostituita con un valore di 30 secondi (
30000millisecondi). - Dopodiché, controlla la proprietà di timeout keep-alive configurata sul server di backend. Supponiamo che
il server di backend sia configurato con un valore di
25 seconds. - Se determini che il valore della proprietà di timeout keep-alive su Apigee è superiore
al valore della proprietà di timeout keep-alive sul server di backend, come nell'esempio
precedente, allora questa è la causa degli errori
502.
Risoluzione
Assicurati che la proprietà di timeout keep-alive sia sempre inferiore su Apigee (nel proxy API e nel componente del processore di messaggi) rispetto a quella sul server di backend.
- Determina il valore impostato per il timeout keep-alive sul server di backend.
- Configura un valore appropriato per la proprietà di timeout keep-alive nel proxy API o nel processore di messaggi, in modo che la proprietà di timeout keep-alive sia inferiore al valore impostato sul server di backend, seguendo i passaggi descritti in Configurazione del timeout keep-alive sui processori di messaggi.
Se il problema persiste, vai a Informazioni di diagnostica da raccogliere.
Best practice
È vivamente consigliato che i componenti downstream abbiano sempre una soglia di timeout keep-alive inferiore
rispetto a quella configurata sui server upstream per evitare questo tipo di race condition ed
errori 502. Ogni hop downstream deve essere inferiore a ogni hop upstream. In Apigee
Edge, è buona norma utilizzare le seguenti linee guida:
- Il timeout keepalive del client deve essere inferiore al timeout keepalive del router di Edge.
- Il timeout keep-alive del router Edge deve essere inferiore al timeout keep-alive del processore di messaggi.
- Il timeout keep-alive del processore di messaggi deve essere inferiore al timeout keep-alive del server di destinazione.
- Se hai altri hop prima o dopo Apigee, deve essere applicata la stessa regola. Dovresti sempre lasciare al client downstream la responsabilità di chiudere la connessione con l'upstream.
Deve raccogliere informazioni diagnostiche
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e poi contatta l'assistenza Apigee Edge.
Se sei un utente del cloud pubblico, fornisci le seguenti informazioni:
- Nome organizzazione
- Nome ambiente
- Nome del proxy API
- Completa il comando
curlper riprodurre l'errore502 - File di traccia contenente le richieste con errore
502 Bad Gateway - Unexpected EOF - Se gli errori
502non si verificano attualmente, fornisci il periodo di tempo con le informazioni sul fuso orario in cui si sono verificati gli errori502in passato.
Se sei un utente di Private Cloud, fornisci le seguenti informazioni:
- Messaggio di errore completo osservato per le richieste non riuscite
- Nome dell'organizzazione, dell'ambiente e del proxy API per cui stai osservando
errori
502 - Bundle proxy API
- File di traccia contenente le richieste con errore
502 Bad Gateway - Unexpected EOF - Log di accesso NGINX
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log - Log del processore di messaggi
/opt/apigee/var/log/edge-message-processor/logs/system.log - Il periodo di tempo con le informazioni sul fuso orario in cui si sono verificati gli errori
502 Tcpdumpsraccolti sui processori di messaggi o sul server di backend oppure su entrambi quando si è verificato l'errore