Katalog błędów środowiska wykonawczego

Wyświetlasz dokumentację Apigee Edge.
Otwórz 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 z procesora komunikatów

Procesor komunikatów 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 komunikatów

Procesor komunikatów 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 komunikatów 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, które musisz znać 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 rozwiązać (jeśli są dostępne).
  • rozwiązanie, które możesz zastosować, aby samodzielnie rozwiązać problem;

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

Użyj pola Szukaj poniżej, aby odfiltrować 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, gdy:

  • Serwer backendu nie odpowiada w okresie limitu czasu skonfigurowanym przez właściwość api.timeout dla konkretnego 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, jeśli określony współdzielony przepływ:

  • Nie istnieje
  • LUB

  • Istnieje, ale nie jest wdrożona
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 jednej z tych sytuacji:

  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ń w przypadku konkretnej ścieżki użytej w żądaniu
    3. NIE wdrożono w konkretnym ś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 1 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 monitorowaniu interfejsu API, dziennikach dostępu NGINX lub 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, jeśli serwer backendu nie odpowiada procesorowi komunikatów Apigee Edge w  okresie limitu czasu wejścia/wyjścia skonfigurowanym w procesorze komunikatów.
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ń POST i PUT HTTP wysyłanych do Apigee Edge.

Uwaga: żądania, które kończą się niepowodzeniem z tym błędem, nie mogą być rejestrowane w narzędziu Trace, 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:
Sekcja 3.3.2 specyfikacji RFC: Content-Length

Napraw

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

  1. Upewnij się, że aplikacja kliencka zawsze przekazuje nagłówek Content-Length w ramach żądań HTTP POST i PUT 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 przesyłasz pusty ładunek w przypadku żądań POST i PUT, upewnij się, że przesyłany 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 scenariuszy, jeśli używasz TargetServer w Apigee Edge:

  1. Nieprawidłowe rozpoznawanie nazw 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 połą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 komunikatów Apigee Edge nie otrzyma ładunku żądania z aplikacji klienckiej w  okresie limitu czasu wejścia-wyjścia skonfigurowanym w komponencie procesora komunikatów.

Napraw

Sprawdź, czy aplikacja kliencka wysyła ładunek żądania w  okresie limitu czasu wejścia/wyjścia skonfigurowanym w komponencie procesora komunikatów 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 jednej z tych sytuacji:

  1. Nieprawidłowe rozpoznawanie nazw 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 połą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 docelowym jest nieprawidłowy lub zawiera niepożądane znaki (np. spacje).

PORADNIK

Błąd DNS:

FILM

Połączenia sieciowe:

FILM

Ten błąd może też wystąpić, jeśli serwer backendu przedwcześnie zamknie połączenie, gdy procesor komunikatów 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 protokołu SSL między procesorem komunikatów Apigee Edge a serwerem backendu, jeśli:

  1. Magazyn zaufanych certyfikatów procesora komunikatów 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 jednej z tych sytuacji:

  1. Element 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, gdy 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 trasy zdefiniowane w ProxyEndpoint i zmodyfikuj je tak, aby istniał co najmniej 1 warunek reguły trasy, który pasuje do Twojego żądania.
  2. Jeśli masz wiele reguł RouteRule, warto zdefiniować regułę trasy domyślnej 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 <RouteRule>warunków w usłudze ProxyEndpoint znajdziesz w artykule Cele warunkowe.

messaging.runtime.SenseRaiseFault

  • Kod stanu HTTP:
403 Forbidden
  • Komunikat o błędzie:
Sense Fault
  • Możliwa przyczyna:
Ten błąd występuje, gdy żądanie do 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 zablokowana, 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: Field Order
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, jeśli nazwa nagłówka wysłana w ramach żądania HTTP przez aplikację kliencką do Apigee Edge jest pusta.
  • Specyfikacja HTTP:
RFC 7230, sekcja 3.2: Header Fields

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 spoza zestawu ASCII zgodnie z  RFC 7230, sekcja 3.2.6: Składniki wartości pola.

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: Path.
  • 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 dokumentu 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. MP 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 logu, 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 Request Header Fields Too Large
  • 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 format kodowania lub ładunku, który nie jest obsługiwany przez Apigee Edge.
  • Specyfikacja HTTP:
RFC 7231, sekcja 6.5.13: 415 Unsupported Media Type
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 i  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: Field Order
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: Header Fields

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  RFC 7230, sekcja 3.2.6: Field Value Components.

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

Sprawdź, czy odpowiedź HTTP serwera backendu wysłana 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.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ł kodem stanu 306 do Apigee Edge.

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 1 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 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 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 Unsupported Media Type
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 element KeyAlias 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 elementach TargetEndpoint lub TargetServer, upewnij się, że zawiera on prawidłowe certyfikaty serwera backendu.