Katalog błędów środowiska wykonawczego

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. info

Błędy w Apigee Edge

Gdy żądania do interfejsu API są wysyłane przez Apigee Edge, komponenty Apigee Edge, czyli routery i procesory wiadomości, lub serwery backendu mogą zwracać błędy do aplikacji klienckich.

Błędy procesora wiadomości

Procesor wiadomości to podstawowy komponent Apigee Edge, który przetwarza zasady i wchodzi w interakcje z serwerami backendu. Może zwracać błędy, jeśli wykryje problemy, takie jak:

  • problemy z połączeniem sieciowym, nieudane uzgadnianie połączenia TLS, niedostępność serwera backendu, brak odpowiedzi podczas komunikacji z serwerem backendu.
  • Błędy podczas wykonywania zasad
  • nieprawidłowe nagłówki HTTP, kodowanie, ścieżka, niezgodność ze specyfikacjami HTTP, przekroczenie limitów produktów itp.;
    • Z żądaniem HTTP wysłanym przez aplikacje klienckie
    • LUB

    • z odpowiedzią HTTP wysłaną przez serwer backendu.
  • I wiele więcej

Przykładowy błąd z procesora wiadomości

Procesor wiadomości zawsze zwraca kod stanu HTTP, a następnie komunikat o błędzie wraz z kodem błędu w formacie JSON, jak pokazano poniżej:

Aplikacja kliencka otrzymuje kod odpowiedzi podobny do tego:

HTTP/1.1 414 Request-URI Too Long

Odpowiedź o błędzie z procesora wiadomości ma następujący format:

{
   "fault":{
      "faultstring":"request line size exceeding 7,168",
      "detail":{
         "errorcode":"protocol.http.TooBigLine"
      }
   }
}

Opis pól w odpowiedzi z błędem:

Pole Opis
faultstring Zawiera komunikat o błędzie opisujący możliwą przyczynę błędu.
errorcode Kod błędu (nazywany też kodem usterki) powiązany z błędem.

Katalog błędów środowiska wykonawczego

Ten katalog błędów zawiera wszystkie informacje o kodach błędów środowiska wykonawczego (w przypadku błędów niezwiązanych z zasadami) zwracanych przez komponent Apigee Edge Message Processor. Zawiera on te informacje o każdym kodzie błędu:

  • Kod stanu HTTP
  • Komunikat o błędzie
  • Możliwe przyczyny błędu
  • wszelkie powiązane specyfikacje HTTP lub limity produktów;
  • Przewodniki i filmy zawierające instrukcje diagnozowania przyczyny błędu oraz skuteczne rozwiązania, które możesz zastosować, aby samodzielnie go wyeliminować (jeśli są dostępne).
  • poprawkę, którą możesz zastosować, aby samodzielnie rozwiązać problem;

Obejmuje on te kategorie kodów błędów:

Użyj pola Szukaj poniżej, aby przefiltrować tabelę i wyświetlić powyższe informacje dotyczące konkretnego kodu błędu. Możesz wyszukać kod stanu lub dowolną treść w dowolnym polu w tabeli.

Kod błędu Opis Napraw

flow.*

flow.APITimedOut

  • Kod stanu HTTP:
504 Gateway Timeout
  • Komunikat o błędzie:
API timed out
  • Możliwa przyczyna:

Ten błąd występuje, jeśli:

  • Serwer backendu nie odpowiada w skonfigurowanym okresie oczekiwania właściwości api.timeout dla konkretnego serwera proxy interfejsu API.
  • Zasady są stosowane przez długi czas z powodu operacji wymagających dużej mocy obliczeniowej, dużego obciążenia lub niskiej wydajności.

Uwaga: ten przewodnik zawiera instrukcje rozwiązywania problemów z kodem błędu messaging.adaptors.http.flow.GatewayTimeout. Możesz jednak użyć tego samego przewodnika, aby rozwiązać problemy z kodem błędu flow.APITimedOut.

PORADNIK

flow.SharedFlowNotFound

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
Shared Flow {shared_flow_name} Not Found
  • Możliwa przyczyna:

Ten błąd występuje, gdy określony wspólny plik:

  • Nie istnieje
  • LUB

  • Istnieje, ale nie jest wdrożony
PORADNIK

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • Kod stanu HTTP:
404 Not Found
  • Komunikat o błędzie:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • Możliwa przyczyna:

Ten błąd występuje w jednym z tych przypadków:

  1. Konkretny proxy interfejsu API to:
    1. NIE jest skonfigurowany do akceptowania żądań na określonym hoście wirtualnym.
    2. NIE jest skonfigurowany do akceptowania żądań na ścieżce użytej w żądaniu
    3. NIE jest wdrożony w określonym środowisku, w którym próbujesz wysyłać żądania do interfejsu API.
    4. NIE wdrożono na co najmniej 1 procesorze wiadomości
  2. Środowisko, w którym próbujesz wysyłać żądania do interfejsu API, nie jest wczytane w co najmniej jednym procesorze wiadomości.
PORADNIK
Ten błąd może też wystąpić, jeśli wiele hostów wirtualnych ma ten sam alias hosta i numer portu. PORADNIK

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • Kod stanu HTTP:
400 Bad Request
  • Komunikat o błędzie:
Decompression failure at request
  • Możliwa przyczyna:

Ten błąd występuje tylko wtedy, gdy:

  • Kodowanie określone w nagłówku żądania HTTP Content-Encoding jest prawidłowe i  obsługiwane przez Apigee Edge.
  • BUT

  • Format ładunku wysłanego przez klienta w ramach żądania HTTP nie jest zgodny z formatem kodowania określonym w nagłówku Content-Encoding.
PORADNIK

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Decompression failure at response
  • Możliwa przyczyna:

Ten błąd występuje tylko wtedy, gdy:

  • Kodowanie określone w nagłówku odpowiedzi HTTP Content-Encoding serwera backendu lub serwera docelowego jest prawidłowe i  obsługiwane przez Apigee Edge.
  • BUT

  • Format ładunku wysłanego przez serwer backendu lub serwer docelowy w ramach odpowiedzi HTTP nie pasuje do formatu kodowania określonego w nagłówku Content-Encoding.
PORADNIK

messaging.adaptors.http.flow.ErrorResponseCode

  • Kod stanu HTTP:
500

PORADNIK

FILM

  • Komunikat o błędzie:
Komunikat o błędzie i jego format mogą się różnić w zależności od implementacji serwera backendu.
  • Możliwa przyczyna:
Ten błąd występuje, gdy serwer backendu odpowiada na Apigee Edge kodem stanu 500.
  • Kod stanu HTTP:
503

PORADNIK

FILM

  • Komunikat o błędzie:
Komunikat o błędzie i jego format mogą się różnić w zależności od implementacji serwera backendu.
  • Możliwa przyczyna:
Ten błąd występuje, gdy serwer backendu odpowiada na Apigee Edge kodem stanu 503.
  • Kod stanu HTTP:
504 PORADNIK
  • Komunikat o błędzie:
Komunikat o błędzie i jego format mogą się różnić w zależności od implementacji serwera backendu.
  • Możliwa przyczyna:
Ten błąd występuje, gdy serwer backendu odpowiada na Apigee Edge kodem stanu 504.

Uwaga: kod błędu messaging.adaptors.http.flow.ErrorResponseCode nie jest zwracany w ramach komunikatu o błędzie wysyłanego do aplikacji klienckich. Dzieje się tak, ponieważ ten kod błędu jest ustawiany przez Apigee Edge, gdy serwer backendu odpowiada błędem i jednym z kodów stanu 4XX lub 5XX. Ten kod błędu możesz wyświetlić w usłudze API Monitoring, dziennikach dostępu NGINX lub w bazie danych analitycznych.

messaging.adaptors.http.flow.GatewayTimeout

  • Kod stanu HTTP:
504 Gateway Timeout
  • Komunikat o błędzie:
Gateway Timeout
  • Możliwa przyczyna:
Ten błąd występuje, gdy serwer backendu nie odpowiada procesorowi wiadomości Apigee Edge w  okresie oczekiwania na wejście/wyjście skonfigurowanym w procesorze wiadomości.
PORADNIK

messaging.adaptors.http.flow.LengthRequired

  • Kod stanu HTTP:
411 Length Required
  • Komunikat o błędzie:
'Content-Length' is missing
  • Możliwa przyczyna:

Ten błąd występuje, jeśli aplikacja kliencka nie przekazuje nagłówka Content-Length w ramach żądań HTTP POSTPUT wysyłanych do Apigee Edge.

Uwaga: żądań, które kończą się tym błędem, nie można przechwycić w narzędziu do śledzenia, ponieważ procesor wiadomości przeprowadza tę weryfikację na bardzo wczesnym etapie, na długo przed przetworzeniem żądania i wykonaniem jakichkolwiek zasad w proxy interfejsu API.

  • Specyfikacja HTTP:
RFC Section 3.3.2: Content-Length

Napraw

Aby rozwiązać ten problem:

  1. Upewnij się, że aplikacja kliencka zawsze przekazuje nagłówek Content-Length w ramach żądań HTTP POSTPUT wysyłanych do Apigee Edge. Na przykład:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Nawet jeśli przekazujesz pusty ładunek z żądaniami POSTPUT, upewnij się, że przekazywany jest nagłówek Content-Length: 0. Na przykład:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • Kod stanu HTTP:
503 Service Unavailable
  • Komunikat o błędzie:
The Service is temporarily unavailable
  • Możliwa przyczyna:

Ten błąd występuje w jednym z tych przypadków, jeśli używasz TargetServer w Apigee Edge:

  1. Nieprawidłowe rozpoznawanie DNS hosta serwera backendu przez niestandardowy serwer autoryzacji spowodowało nieprawidłowe adresy IP, co doprowadziło do błędów połączenia.
  2. Błędy przekroczenia limitu czasu połączenia z powodu:
    1. Ograniczenie zapory sieciowej na serwerze backendu uniemożliwia Apigee Edge łączenie się z serwerem backendu.
    2. Problemy z połączeniem sieciowym między Apigee Edge a serwerem backendu.
  3. Host określony w elemencie TargetServer jest nieprawidłowy lub zawiera niepożądane znaki (np. spację).

PORADNIK

FILM

Ten błąd może też wystąpić, jeśli kontrole stanu skonfigurowane do monitorowania stanu kontroli stanu serwerów docelowych nie powiodą się.

PORADNIK

FILM

messaging.adaptors.http.flow.RequestTimeOut

  • Kod stanu HTTP:
408 Request Timeout
  • Komunikat o błędzie:
Request timed out
  • Możliwa przyczyna:
Ten błąd występuje, gdy procesor wiadomości Apigee Edge nie otrzyma ładunku żądania z aplikacji klienckiej w  okresie limitu czasu wejścia/wyjścia skonfigurowanym w komponencie procesora wiadomości.

Napraw

Upewnij się, że aplikacja kliencka wysyła ładunek żądania w  okresie limitu czasu wejścia/wyjścia skonfigurowanym w komponencie Message Processor Apigee Edge.

messaging.adaptors.http.flow.ServiceUnavailable

  • Kod stanu HTTP:
503 Service Unavailable
  • Komunikat o błędzie:
The Service is temporarily unavailable
  • Możliwa przyczyna:

Ten błąd występuje w jednym z tych przypadków:

  1. Nieprawidłowe rozpoznawanie DNS hosta serwera backendu przez niestandardowy serwer autoryzacji spowodowało nieprawidłowe adresy IP, co doprowadziło do błędów połączenia.
  2. Błędy przekroczenia limitu czasu połączenia z powodu:
    1. Ograniczenie zapory sieciowej na serwerze backendu uniemożliwia Apigee Edge łączenie się z serwerem backendu.
    2. Problemy z połączeniem sieciowym między Apigee Edge a serwerem backendu.
  3. Host serwera docelowego określony w punkcie końcowym jest nieprawidłowy lub zawiera niepożądane znaki (np. spację).

PORADNIK

Błąd DNS:

FILM

Połączenie sieciowe:

FILM

Ten błąd może też wystąpić, jeśli serwer backendu przedwcześnie zamknie połączenie, gdy procesor wiadomości nadal wysyła ładunek żądania do serwera backendu. PORADNIK

messaging.adaptors.http.flow.SslHandshakeFailed

  • Kod stanu HTTP:
503 Service Unavailable
  • Komunikat o błędzie:
SSL Handshake failed {error_message}
  • Możliwa przyczyna:

Ten błąd występuje podczas procesu uzgadniania połączenia SSL między procesorem wiadomości Apigee Edge a serwerem backendu, jeśli:

  1. Magazyn zaufanych certyfikatów procesora wiadomości Apigee Edge:
    • zawiera łańcuch certyfikatów, który nie pasuje do pełnego łańcucha certyfikatów serwera backendu;
    • LUB

    • Nie zawiera pełnego łańcucha certyfikatów serwera backendu
  2. Łańcuch certyfikatów przedstawiony przez serwer backendu:
    • Zawiera pełną i jednoznaczną nazwę domeny (FQDN), która nie pasuje do nazwy hosta określonej w docelowym punkcie końcowym.
    • LUB

    • Zawiera nieprawidłowy lub niekompletny łańcuch certyfikatów

PORADNIK

FILM

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Unexpected EOF at target
  • Możliwa przyczyna:

Ten błąd występuje w jednym z tych przypadków:

  1. TargetServer nie jest prawidłowo skonfigurowany do obsługi połączeń TLS/SSL w Apigee Edge.
  2. Serwer backendu może nagle zamknąć połączenie, podczas gdy Apigee Edge oczekuje na odpowiedź z serwera backendu.
  3. Nieprawidłowo skonfigurowane limity czasu Keep-Alive w Apigee i na serwerze backendu.
PORADNIK

messaging.runtime.*

messaging.runtime.RouteFailed

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
Unable to route the message to a TargetEndpoint
  • Możliwa przyczyna:

Ten błąd występuje, jeśli Apigee Edge nie może przekierować żądania do żadnego z elementów TargetEndpoint, ponieważ:

  • W serwerze proxy nie ma warunku reguły trasy (<RouteRule>), który pasuje do żądania.
  • ORAZ

  • W ProxyEndpoint nie zdefiniowano reguły trasy domyślnej (tzn. <RouteRule> bez żadnych warunków).

Napraw

Aby rozwiązać ten problem, wykonaj te czynności:

  1. Sprawdź reguły routingu zdefiniowane w punkcie ProxyEndpoint i zmodyfikuj je tak, aby istniał co najmniej 1 warunek reguły routingu, który pasuje do Twojego żądania.
  2. Jeśli masz wiele reguł RouteRule, warto zdefiniować domyślną regułę trasy bez warunku.
  3. Upewnij się, że domyślna reguła trasy jest zawsze zdefiniowana jako ostatnia na liście tras warunkowych, ponieważ reguły są oceniane od góry do dołu w usłudze ProxyEndpoint.

Więcej informacji o definiowaniu warunków <RouteRule> w usłudze ProxyEndpoint znajdziesz w artykule Warunkowe lokalizacje docelowe.

messaging.runtime.SenseRaiseFault

  • Kod stanu HTTP:
403 Forbidden
  • Komunikat o błędzie:
Sense Fault
  • Możliwa przyczyna:
Ten błąd występuje, gdy żądanie interfejsu API jest wysyłane z określonego adresu IP klienta, który jest blokowany w ramach reguł Apigee Sense.

Napraw

Aby rozwiązać ten problem, wykonaj te czynności:

  1. Sprawdź, czy konkretny adres IP klienta został zablokowany przez sprawdzenie reguł skonfigurowanych w Apigee Sense. Jeśli jest zablokowany, oznacza to, że działa zgodnie z założeniami.
  2. Jeśli konkretny adres IP klienta nie jest zablokowany, ale ten błąd nadal występuje, skontaktuj się z zespołem pomocy Apigee Edge.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
Bad Form Data
  • Możliwa przyczyna:

Ten błąd występuje tylko wtedy, gdy są spełnione wszystkie te warunki:

  1. Żądanie HTTP wysłane przez klienta do Apigee Edge zawiera:
    • Content-Type: application/x-www-form-urlencoded, i
    • Dane formularza zawierające znak procenta (%) lub znak procenta (%) z nieprawidłowymi znakami szesnastkowymi, które są niedozwolone zgodnie z  Formularze – sekcja 17.13.4.1.
  2. Serwer proxy interfejsu API w Apigee Edge odczytuje konkretne parametry formularza zawierające niedozwolone znaki, korzystając z zasad ExtractVariables lub AssignMessage w przepływie żądania.
PORADNIK

protocol.http.DuplicateHeader

  • Kod stanu HTTP:
400 Bad Request
  • Komunikat o błędzie:
Duplicate Header "{header_name}"
  • Możliwa przyczyna:
Ten błąd występuje, gdy określony nagłówek HTTP, który nie może mieć duplikatów w Apigee Edge, pojawia się więcej niż raz z tymi samymi lub różnymi wartościami w ramach żądania HTTP wysłanego przez aplikację kliencką do Apigee Edge.
  • Specyfikacja HTTP:
RFC 7230, sekcja 3.2.2: kolejność pól
PORADNIK

protocol.http.EmptyHeaderName

  • Kod stanu HTTP:
400 Bad Request
  • Komunikat o błędzie:
Header name cannot be empty
  • Możliwa przyczyna:
Ten błąd występuje, gdy nazwa nagłówka wysłana w ramach żądania HTTP przez aplikację kliencką do Apigee Edge jest pusta.
  • Specyfikacja HTTP:
RFC 7230, sekcja 3.2: pola nagłówka

Napraw

Upewnij się, że żądanie HTTP wysyłane przez aplikację kliencką do Apigee Edge zawsze zawiera prawidłową nazwę nagłówka zgodnie z  sekcją 3.2 standardu RFC 7230: pola nagłówka.

protocol.http.HeaderNameWithNonAsciiChar

  • Kod stanu HTTP:
400 Bad Request
  • Komunikat o błędzie:
Header {header_name} contains non ascii character {character}
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nazwa nagłówka wysłana w ramach żądania HTTP przez aplikację kliencką do Apigee Edge zawiera znaki spoza zestawu ASCII.
  • Specyfikacja HTTP:

RFC 7230, sekcja 3.2: pola nagłówka i RFC 7230, sekcja 3.2.6: komponenty wartości pola

Napraw

Upewnij się, że żądanie HTTP klienta wysłane do Apigee Edge nie zawiera w nazwach nagłówków znaków innych niż ASCII zgodnie z  sekcją 3.2.6 standardu RFC 7230: Field Value Components.

protocol.http.HeaderWithInvalidChar

  • Kod stanu HTTP:
400 Bad Request
  • Komunikat o błędzie:
Header {header_name} contains invalid character {character}
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nazwa nagłówka wysłana w ramach żądania HTTP przez aplikację kliencką do Apigee Edge zawiera nieprawidłowe znaki, takie jak znak równości (=), przecinek (,), średnik (;), tabulator, CRLF i znak nowego wiersza.
  • Specyfikacja HTTP:

RFC 7230, sekcja 3.2: Pola nagłówka i RFC 7230, sekcja 3.2.6: Składniki wartości pola

Napraw

Sprawdź, czy żądanie HTTP wysyłane przez aplikację kliencką do Apigee Edge nie zawiera nieprawidłowych znaków w nazwach nagłówków zgodnie z  sekcją 3.2.6 standardu RFC 7230: Składniki wartości pola.

protocol.http.InvalidPath

  • Kod stanu HTTP:
400 Bad Request
  • Komunikat o błędzie:
Invalid path {path}
  • Możliwa przyczyna:
Ten błąd występuje, jeśli ścieżka w adresie URL żądania HTTP wysłanego przez aplikację kliencką do Apigee Edge zawiera znaki, które nie są dozwolone zgodnie ze specyfikacją RFC 3986, sekcja 3.3: Ścieżka.
  • Specyfikacja HTTP:

RFC 3986, sekcja 3: Składniki składni i RFC 3986, sekcja 3.3: Ścieżka

Napraw

Sprawdź, czy ścieżka w adresie URL żądania HTTP wysyłanego przez aplikację kliencką do Apigee Edge nie zawiera znaków, które nie są dozwolone zgodnie z  sekcją 3.3 standardu RFC 3986: Ścieżka.

protocol.http.MessageReadError

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Unexpected I/O after message headers have been read.
  • Możliwa przyczyna:
Ten rzadki błąd występuje, gdy MP odbiera dane wejściowe/wyjściowe na kanale, gdy nie jest to oczekiwane. Procesor wiadomości odczytuje żądanie, odczytał wszystkie nagłówki i jest skonfigurowany do odczytywania ładunku żądania. Następnie napotyka zdarzenie wejścia/wyjścia, które wydaje się dotyczyć tych samych nagłówków.

Napraw

Znajdź komunikat dziennika, aby uzyskać więcej informacji o tym, co się dzieje.

logger.atSevere().log(
    "Unexpected I/O after message headers have been read. Channel diagnostics=%s."
        + " HeartBeat=%s",
    input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
                

protocol.http.TooBigBody

  • Kod stanu HTTP:
413 Request Entity Too Large
  • Komunikat o błędzie:
Body buffer overflow
  • Możliwa przyczyna:
Ten błąd występuje, gdy rozmiar ładunku wysłanego przez aplikację kliencką w ramach żądania HTTP do Apigee Edge przekracza dozwolony limit w Apigee Edge.
  • Limity:
Limity Apigee Edge
PORADNIK

protocol.http.TooBigHeaders

  • Kod stanu HTTP:
431 Request Header Fields Too Large
  • Komunikat o błędzie:
request headers size exceeding {limit}
  • Możliwa przyczyna:
Łączny rozmiar wszystkich nagłówków żądań wysłanych przez aplikację kliencką w ramach żądania HTTP do Apigee Edge jest większy niż dozwolony limit w Apigee Edge.
  • Specyfikacja HTTP:
RFC 6585, sekcja 5: 431 Pola nagłówków żądań są za duże
  • Limity:
Limity Apigee Edge
PORADNIK

protocol.http.TooBigLine

  • Kod stanu HTTP:
414 Request-URI Too Long
  • Komunikat o błędzie:
request line size exceeding {limit}
  • Możliwa przyczyna:
Ten błąd występuje, gdy rozmiar wiersza żądania wysłanego przez aplikację kliencką w ramach żądania HTTP do Apigee Edge jest większy niż dozwolony limit w Apigee Edge.
  • Limity:
Limity Apigee Edge
PORADNIK

protocol.http.UnsupportedEncoding

  • Kod stanu HTTP:
415 Unsupported Media
  • Komunikat o błędzie:
Unsupported Encoding "{encoding}"
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nagłówek Content-Encoding wysłany przez klienta w ramach odpowiedzi HTTP zawiera kodowanie lub format ładunku, który nie jest obsługiwany przez Apigee Edge.
  • Specyfikacja HTTP:
RFC 7231, sekcja 6.5.13: 415 Nieobsługiwany typ multimediów
PORADNIK

protocol.http.* - Caused by target

protocol.http.BadPath

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
Invalid request path
  • Możliwa przyczyna:
Ten błąd występuje, jeśli adres URL żądania serwera backendu, reprezentowany przez zmienną przepływu target.url, zawiera ścieżkę, która zaczyna się od znaku zapytania (?) zamiast od ukośnika (/), co jest nieprawidłowe.
  • Specyfikacja HTTP:

RFC 3986, sekcja 3: Składniki składni RFC 3986, sekcja 3.3: Ścieżka

PORADNIK

protocol.http.DuplicateHeader

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Duplicate Header "{header_name}"
  • Możliwa przyczyna:
Ten błąd występuje, jeśli określony nagłówek HTTP, który nie może mieć duplikatów w Apigee Edge, pojawia się więcej niż raz z tymi samymi lub różnymi wartościami w ramach odpowiedzi HTTP wysłanej przez serwer backendu do Apigee Edge.
  • Specyfikacja HTTP:
RFC 7230, sekcja 3.2.2: kolejność pól
PORADNIK

protocol.http.EmptyHeaderName

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Header name cannot be empty
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nazwa nagłówka wysłana przez serwer backendu w ramach odpowiedzi HTTP do Apigee Edge jest pusta.
  • Specyfikacja HTTP:
RFC 7230, sekcja 3.2: pola nagłówka

Napraw

Sprawdź, czy odpowiedź HTTP wysyłana przez serwer backendu do Apigee Edge zawsze zawiera prawidłową nazwę nagłówka zgodnie z  RFC 7230, sekcja 3.2: Pola nagłówka.

protocol.http.EmptyPath

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
Request path cannot be empty
  • Możliwa przyczyna:
Ten błąd występuje, jeśli adres URL żądania HTTP serwera backendu, reprezentowany przez zmienną przepływu target.url, zawiera pustą ścieżkę.
  • Specyfikacja HTTP:

RFC 3986, sekcja 3: Składniki składni i RFC 3986, sekcja 3.3: Ścieżka

PORADNIK

protocol.http.HeaderNameWithNonAsciiChar

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Header {header_name} contains non ascii character {character}
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nazwa nagłówka wysłana przez serwer backendu w ramach odpowiedzi HTTP do Apigee Edge zawiera znaki spoza zestawu ASCII.
  • Specyfikacja HTTP:

RFC 7230, sekcja 3.2: pola nagłówka i RFC 7230, sekcja 3.2.6: komponenty wartości pola

Napraw

Upewnij się, że odpowiedź HTTP serwera backendu wysłana do Apigee Edge nie zawiera w nazwach nagłówków znaków spoza zestawu ASCII zgodnie z sekcją 3.2.6 standardu RFC 7230: Składniki wartości pola.

protocol.http.HeaderWithInvalidChar

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Header {header_name} contains invalid character {character}
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nazwa nagłówka wysłana przez serwer backendu w ramach odpowiedzi HTTP zawiera nieprawidłowe znaki, takie jak znak równości (=), przecinek (,), średnik (;), tabulator, CRLF i znak nowego wiersza.
  • Specyfikacja HTTP:

RFC 7230, sekcja 3.2: Pola nagłówka i RFC 7230, sekcja 3.2.6: Składniki wartości pola

Napraw

Upewnij się, że odpowiedź HTTP serwera backendu wysłana do Apigee Edge nie zawiera żadnych nieprawidłowych znaków w nazwach nagłówków zgodnie z RFC 7230, sekcja 3.2.6: Składniki wartości pola.

protocol.http.ProxyTunnelCreationFailed

  • Kod stanu HTTP:
503 Service Unavailable
  • Komunikat o błędzie:
Proxy refused to create tunnel with response status {status code}
  • Możliwa przyczyna:

Ten błąd występuje podczas tworzenia tunelu między Apigee Edge a serwerem backendu przez serwer proxy z powodu problemów z zaporą, listą ACL (listą kontroli dostępu), DNS, dostępnością serwera backendu itp.

Uwaga: kod stanu w komunikacie o błędzie (faultstring) zawiera ogólną przyczynę problemu.

PORADNIK

protocol.http.Response306Reserved

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Response Status code 306 is reserved, so can't be used.
  • Możliwa przyczyna:

Ten błąd występuje, jeśli serwer backendu odpowiedział na Apigee Edge kodem stanu 306.

Kod stanu 306 został zdefiniowany we wcześniejszej wersji specyfikacji HTTP. Zgodnie z obecną specyfikacją HTTP ten kod jest zarezerwowany i nie należy go używać.

  • Specyfikacja HTTP:
RFC 7231, sekcja 6.3.5: 306 Reserved

Napraw

Kod stanu 306 jest zarezerwowany, więc upewnij się, że serwer backendu nie używa go podczas wysyłania odpowiedzi do Apigee Edge.

protocol.http.Response405WithoutAllowHeader

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Received 405 Response without Allow Header
  • Możliwa przyczyna:
Serwer backendu odpowiada kodem stanu 405 Method Not Allowed bez nagłówka „Allow”.
  • Specyfikacja HTTP:

RFC 7231, sekcja 6.5.5: 405 Method Not Allowed i RFC 7231, sekcja 7.4.1: Allow

PORADNIK

protocol.http.ResponseWithBody

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Received {status_code} Response with message body
  • Możliwa przyczyna:

Ten błąd występuje, jeśli odpowiedź HTTP z serwera backendu do Apigee Edge ma wartość 204 No Content lub 205 Reset Content, ale zawiera treść odpowiedzi lub co najmniej jeden z tych nagłówków:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • Specyfikacja HTTP:

RFC 7231, sekcja 6.3.5: 204 No Content i RFC 7231, sekcja 6.3.6: 205 Reset Content

PORADNIK

protocol.http.TooBigBody

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
Body buffer overflow
  • Możliwa przyczyna:
Ten błąd występuje, gdy rozmiar ładunku wysłanego przez aplikację kliencką w ramach żądania HTTP do Apigee Edge przekracza dozwolony limit w Apigee Edge.
  • Limity:
Limity Apigee Edge
PORADNIK

protocol.http.TooBigHeaders

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
response headers size exceeding {limit}
  • Możliwa przyczyna:
Ten błąd występuje, gdy łączny rozmiar wszystkich nagłówków odpowiedzi wysłanych przez serwer backendu w ramach odpowiedzi HTTP do Apigee Edge przekracza dozwolony limit w Apigee Edge.
  • Limity:
Limity Apigee Edge
PORADNIK

protocol.http.TooBigLine

  • Kod stanu HTTP:
502 Bad Gateway
  • Komunikat o błędzie:
response line size exceeding {limit}
  • Możliwa przyczyna:
Ten błąd występuje, gdy rozmiar wiersza odpowiedzi wysłanego przez serwer backendu w ramach odpowiedzi HTTP do Apigee Edge przekracza dozwolony limit w Apigee Edge.
  • Limity:
Limity Apigee Edge
PORADNIK

protocol.http.UnsupportedEncoding

  • Kod stanu HTTP:
415 Unsupported Media
  • Komunikat o błędzie:
Unsupported Encoding "{encoding}"
  • Możliwa przyczyna:
Ten błąd występuje, jeśli nagłówek Content-Encoding wysłany przez serwer backendu w ramach odpowiedzi HTTP zawiera format kodowania lub ładunku, który nie jest obsługiwany przez Apigee Edge.
  • Specyfikacja HTTP:
RFC 7231, sekcja 6.5.13: 415 Nieobsługiwany typ multimediów
PORADNIK

security.util.*

security.util.KeyAliasNotFound

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Możliwa przyczyna:

Ten błąd występuje, jeśli konkretny alias klucza, do którego odwołuje się TargetEndpoint lub TargetServer, nie zostanie znaleziony w konkretnym magazynie kluczy.

Napraw

Sprawdź, czy alias klucza określony w elementach TargetEndpoint lub TargetServer istnieje i jest częścią konkretnego magazynu kluczy.

security.util.TrustStoreWithNoCertificates

  • Kod stanu HTTP:
500 Internal Server Error
  • Komunikat o błędzie:
TrustStore {truststore_name} has no certificates
  • Możliwa przyczyna:

Ten błąd występuje, jeśli konkretny magazyn zaufanych certyfikatów, do którego odwołuje się TargetEndpoint lub TargetServer, nie zawiera żadnych certyfikatów.

Napraw

Jeśli chcesz zweryfikować certyfikat serwera backendu i użyć magazynu zaufanych certyfikatów w elemencie TargetEndpoint lub TargetServer, upewnij się, że zawiera on prawidłowe certyfikaty serwera backendu.