Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
W tym temacie opisano błędy i ostrzeżenia, które możesz napotkać podczas korzystania z Edge Microgateway.
Ogólne błędy aplikacji
HTTP 500, błąd w module obsługi błędów – ta liczba będzie miała większość błędów oraz niektóre błędy zwracane z celów. W szczególności w całym module microgateway-core jest używany plik errors-middleware.js. Gdy jest używany, zapisuje kod stanu w logu przy użyciu Edge Microgateway
logger object: logger.error(err, 'failed in error handler');
. W przypadku kodów odbieranych z celów z zakresu od 100 do 300 błąd error-middleware.js zmienia statusCode na 500 i zwraca go klientowi.HTTP 404 – ten stan może być widoczny w postaci zrzutu stosu z komunikatem
no match found for [API_path_name]
.
Błędy i ostrzeżenia modułu
Możesz użyć tych informacji do konfigurowania alertów, które ułatwiają monitorowanie wdrożenia Edge Microgateway i zarządzania nim.
Poniższe terminy, które występują w odniesieniu do błędów w sekcji „Moduł obsługi”, wskazują, w jaki sposób różne błędy są obsługiwane w Edge Microgateway.
- assert: zwykle Edge Microgateway zatrzymuje się w przypadku niepowodzenia oceny potwierdzenia. Jednak nie zawsze tak jest, bo „asstery” wywołują wyjątki, które mogą zostać wykryte.
- throws: możliwe zatrzymanie systemu.
- callback: błąd jest przekazywany do wywołania zwrotnego i system może kontynuować.
Typ | przekaz, | Moduł obsługi | Uwagi |
---|---|---|---|
Moduł mikrobramy |
|||
error | organizacja jest wymagana | assert | assert(options.org,"org jest wymagana"); |
error | środowisko jest wymagane | assert | assert(options.env,"env jest wymagany") |
error | nazwa użytkownika jest wymagana | assert | assert(options.username || options.token,"nazwa_użytkownika jest wymagana"); |
error | hasło jest wymagane | assert | assert(options.password || options.token,"wymagane jest hasło") |
error | organizacja jest wymagana | assert | assert(options.org,"org jest wymagana"); |
error | środowisko jest wymagane | assert | assert(options.env,"env jest wymagany") |
error | nazwa użytkownika jest wymagana | assert | assert(options.username || options.token,"nazwa_użytkownika jest wymagana"); |
error | hasło jest wymagane | assert | assert(options.password || options.token,"wymagane jest hasło") |
error | organizacja jest wymagana | assert | assert(options.org,"org jest wymagana"); |
error | środowisko jest wymagane | assert | assert(options.env,"env jest wymagany") |
error | organizacja jest wymagana | assert | assert(options.org,"org jest wymagana"); |
error | środowisko jest wymagane | assert | assert(options.env,"env jest wymagany") |
error | nazwa użytkownika jest wymagana | assert | assert(options.nazwa_użytkownika, 'nazwa_użytkownika jest wymagana'); |
error | hasło jest wymagane | assert | assert(options.password, 'wymagane jest hasło'); |
error | organizacja jest wymagana | assert | assert(options.org, 'organizacja jest wymagana'); |
error | środowisko jest wymagane | assert | assert(options.env, 'env jest wymagany'); |
error | musi mieć przypisany plik docelowy | assert | assert(targetFile, 'musi mieć przypisany plik docelowy') |
error | musi mieć klucz | assert | assert(klucz, 'musi mieć klucz'); |
error | musi mieć obiekt tajny | assert | assert(tajny, 'musi mieć obiekt tajny'); |
error | dir musi być skonfigurowany | assert | assert(dir, 'dir need be setup') |
error | musi być obecne wywołanie zwrotne | assert | assert(wywołanie zwrotne, 'musi być obecna') |
error | nazwa użytkownika jest wymagana | assert | assert(options.nazwa_użytkownika, 'nazwa_użytkownika jest wymagana'); |
error | hasło jest wymagane | assert | assert(options.password, 'wymagane jest hasło'); |
error | organizacja jest wymagana | assert | assert(options.org, 'organizacja jest wymagana'); |
error | środowisko jest wymagane | assert | assert(options.env, 'env jest wymagany'); |
error | Parametr eventUrl jest wymagany | assert | assert(options.runtimeUrl, 'runtimeUrl jest wymagany'); |
error | mgmtUrl jest wymagany | assert | assert(options.mgmtUrl, 'mgmtUrl jest wymagany'); |
error | plik jest wymagany | assert | assert(options.file,"plik jest wymagany") |
error | musi mieć cel | assert | assert(options.target, 'musi mieć cel'); |
error | nie skonfigurowano wtyczek | assert | assert(config.edgemicro.Plugins, 'Wtyczki nie są skonfigurowane'); |
error | dir wtyczki nie istnieje: + wtyczkaDir | assert | assert(fs.existsSync(pluginDir), 'katalog wtyczki nie istnieje: ' + wtyczkaDir); |
error | dir wtyczki nie jest katalogiem: + setupDir | assert | assert(stat.isDirectory(), 'katalog wtyczki nie jest katalogiem: ' + setupDir); |
error | błąd podczas odczytu katalogu wtyczki: + wtyczkaDir | assert | assert(dirs, 'błąd odczytu wtyczki dir: ' + buildDir); |
error | musi mieć token | assert | assert(token, 'musi mieć token'); |
error | Pole configpath nie może być puste | assert | assert(config, 'configpath nie może być pusty'); |
error | musi mieć EDGEMICRO_KEY | assert | assert(klucz, 'musi mieć EDGEMICRO_KEY'); |
error | musi mieć EDGEMICRO_SECRET | assert | assert(secret, 'musi mieć EDGEMICRO_SECRET'); |
error | konfiguracja nie istnieje | rzuty | powiązane z plikiem yaml |
error | Wygląda na to, że Edgemicro jest już uruchomiona. | console.error | próba zastąpienia pliku .sock |
error | Nie udało się sprawdzić zmiany w konfiguracji. Kurier podejmie ponowną próbę po | console.error | problem z komunikacją brzegową |
error | Jeśli serwer nie działa, może to być spowodowane nieprawidłowym wyłączeniem poprzedniego uruchomienia. | console.error | |
error | Brak pliku %s, uruchom | console.error | Brak znaku (.*), uruchom |
error | Nie udało się ponownie załadować Edgemicro | console.error | poziom polecenia |
error | Nie udało się zatrzymać Edgemicro. | console.error | Poziom polecenia |
error | „Spróbuj usunąć ' + ipcPath + ' i zacznij od nowa” | console.error | |
error | „Konfiguracja pamięci podręcznej” + pamięć podręczna + nie istnieje. Zamknięcie. | console.error | |
error | nie można zapisać pliku konfiguracyjnego: | console.error | Konfiguracja nie powiedzie się |
error | nie udało się pobrać pliku konfiguracyjnego: | console.error | Konfiguracja nie powiedzie się |
error | nie udało się uruchomić Edge micro | console.error | Nie powinien być uruchomiony |
error | aplikacja Edgemicro nie jest uruchomiona. | console.error | Proces sprawdzania nie powinien być widoczny |
error | środowisko jest wymagane | console.error | Zmienne środowiskowe wymagane do uruchomienia |
error | błąd – edytowanie apiproxy Callout.xml | console.error | Dostęp do plików |
error | błąd – edytowanie pliku apiproxy default.xml | console.error | Dostęp do plików |
error | Podczas sprawdzania certyfikatu wystąpił błąd. Instaluję nowy certyfikat. | console.error | Nie można użyć klucza publicznego |
error | błąd podczas pobierania regionu dla organizacji | console.error | key-gen.js, cert-lib.js i private.js |
error | podczas przesyłania danych logowania wystąpił błąd | console.error | Nie można zsynchronizować klucza publicznego z Edge |
error | niepowodzenie | console.error | key-gen.js |
error | nie udało się uruchomić pliku configpath %s | console.error | Konfiguracja się nie wczytuje |
error | nieprawidłowa odpowiedź z interfejsu API regionu | console.error | key-gen.js, cert-lib.js i private.js |
error | klucz jest wymagany | console.error | Parametr |
error | organizacja jest wymagana | console.error | Parametr |
error | port jest niedostępny. | console.error | Parametr |
error | obiekt tajny jest wymagany | console.error | Parametr |
error | Nieobsługiwany protokół URL: | console.error | Informacje o konfiguracji wskazują, że protokół internetowy nie znajduje się w zakresie Edge Microgateway |
error | weryfikacja sytuacji Analytics negatywnych: FAIL | console.error | Mogła awaria |
error | weryfikacja analizy z ładunkiem: FAIL | console.error | Mogła awaria |
error | sprawdzanie dostępności adresu URL wczytywania:FAIL | console.error | Mogła awaria |
error | weryfikacja dostępności klucza jwt_public_key: FAIL | console.error | Mogła awaria |
error | weryfikacja dostępności produktów: FAIL | console.error | Mogła awaria |
error | weryfikowanie limitu ze skonfigurowanymi usługami: FAIL | console.error | Mogła awaria |
warn | Nie udało się pobrać konfiguracji z bramy. Kontynuacja spowoduje próbę użycia kopii w pamięci podręcznej. | console.error | |
warn | W Twojej organizacji już istnieje KVM | console.log | |
warn | jest już wdrożona | console.log | |
warn | Nie znaleziono wtyczki sekwencyjnej: | console.warn | |
warn | wtyczkaDir %s nie istnieje | console.log | mpDir (.*) nie istnieje |
Moduł microgateway-core |
|||
error | nie zainicjowano konfiguracji | assert | assert(config, 'konfiguracja nie została zainicjowana') |
error | musi mieć konfigurację | assert | assert(config, 'musi mieć konfigurację') |
error | trzeba mieć konfigurację | assert | assert(config, 'musi mieć konfigurację') |
error | konfiguracja musi mieć UID | assert | assert(config.uid, 'config musi mieć uid'); |
error | wymagany jest plik config.edgemicro.logging | assert | assert(logConfig, 'musi mieć plik config.edgemicro.logging in config'); |
error | musi mieć metodę żądania | assert | assert(httpLibrary.request, 'musi mieć metodę żądania'); |
error | należy mieć wtyczkę załadowaną w pamięci | assert | assert(options.plugin, "musisz mieć załadowaną wtyczkę w pamięci"); |
error | init musi być funkcją | assert | assert(_.isFunction(options.plugin.init), „init musi być funkcją'); |
error | musi mieć nazwę wtyczki | assert | assert(options.pluginName, "musi mieć nazwę wtyczki"); |
error | ignorowanie nieprawidłowych modułów obsługi wtyczek + nazwy | assert | assert(_.isObject(middleware), 'ignorowanie nieprawidłowych modułów obsługi wtyczek ' + name); |
error | opcje muszą zawierać plik config | assert | assert(config, 'opcje muszą zawierać plik config') |
error | wtyczka musi mieć nazwę | assert | assert(nazwa,"wtyczka musi mieć nazwę") |
error | nazwa musi być ciągiem znaków | assert | assert(_.isString(name),"name musi być ciągiem"); |
error | wtyczka musi być funkcją | assert | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
error | musi mieć klucz | assert | assert(klucz, 'musi mieć klucz'); |
error | musi mieć obiekt tajny | assert | assert(tajny, 'musi mieć obiekt tajny'); |
error | musi mieć źródłowy katalog konfiguracji | assert | assert(source, 'musi mieć źródłowy katalog konfiguracji'); |
error | błąd podczas wczytywania wtyczki | console.error | Wtyczka nie została wczytana |
error | niepowodzenie w module obsługi błędów | wywołanie zwrotne | Funkcja HTTPserver.on() |
error | długość nagłówka przekracza dozwolony rozmiar | Błąd HTTP | Nie uruchamia wtyczki |
error | odpowiedź została zakończona, zanim będzie można wykonać pracę | logger.error | Docelowa wtyczka nie działa |
error | moduł obsługi zgłosił wyjątek | wywołanie zwrotne | Błąd przechwytywania przez wtyczkę (catch) |
error | błąd początkowyj krawędzi micro | wywołanie zwrotne | Edge Microgateway się nie uruchamia |
error | wtyczka musi być funkcją | rzuty | |
warn | console.error | warns | Zapisywanie dzienników |
warn | Błąd targetRequest | wywołaj obsługę błędów w miejscu docelowym | Błąd klienta HTTP w połączeniu z miejscem docelowym |
warn | błąd targetResponse | wywołaj obsługę błędów w miejscu docelowym | Błąd docelowego serwera HTTP w połączeniu z miejscem docelowym widoczny w kliencie |
Moduł microgateway-config |
|||
error | allow_message | assert | assert(+config.quota.allow > 0, allow_message); |
error | konfiguracja nie istnieje | rzuty | Plik yaml konfiguracji |
error | Konfiguracja jest pusta | rzuty | Plik yaml konfiguracji |
error | Konfiguracja nie jest plikiem | rzuty | Plik yaml konfiguracji |
error | nie zdefiniowano konfiguracji | assert | assert(config, 'config is not z definicji'); |
error | Pole config.analytics.batchSize jest nieprawidłowe | assert | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize jest nieprawidłowy'); |
error | config.analytics.batchSize nie jest liczbą | assert | assert(typeof config.analytics.batchSize === 'liczba', 'config.analytics.batchSize nie jest liczbą'); |
error | Parametr config.analytics.bufferSize jest nieprawidłowy | assert | assert(+config.analytics.bufferSize > 0, wartość 'config.analytics.bufferSize jest nieprawidłowa'); |
error | config.analytics.bufferSize nie jest liczbą. | assert | assert(typeof config.analytics.bufferSize === 'liczba', 'config.analytics.bufferSize nie jest liczbą'); |
error | Pole config.analytics.flushInterval jest nieprawidłowe | assert | assert(+config.analytics.flushInterval > 0, wartość 'config.analytics.flushInterval jest nieprawidłowa'); |
error | Pole config.analytics.flushInterval nie jest liczbą. | assert | assert(typeof config.analytics.flushInterval === 'liczba', 'config.analytics.flushInterval nie jest liczbą'); |
error | Plik config.analytics.proxy nie jest fikcyjny. | assert | assert(config.analytics.proxy === 'fikcyjny', 'config.analytics.proxy nie jest fikcyjny”'); |
error | Plik config.analytics.proxy nie jest zdefiniowany | assert | assert(config.analytics.proxy, 'config.analytics.proxy nie jest zdefiniowany'); |
error | config.analytics.proxy_revision nie jest liczbą. | assert | assert(typeof config.analytics.proxy_revision === 'liczba', 'config.analytics.proxy_revision nie jest liczbą'); |
error | Nie zdefiniowano parametru config.analytics.proxy_revision | assert | assert(config.analytics.proxy_revision, nie zdefiniowano 'config.analytics.proxy_revision'); |
error | Adres config.analytics.source nie jest wartością „microgateway” | assert | assert(config.analytics.source === 'microgateway', 'config.analytics.source nie jest wartością „microgateway"'); |
error | Nie zdefiniowano elementu config.analytics.source | assert | assert(config.analytics.source, 'config.analytics.source nie zostały zdefiniowane'); |
error | config.analytics.uri nie jest ciągiem znaków | assert | assert(typeof config.analytics.uri === 'ciąg', 'config.analytics.uri nie jest ciągiem'); |
error | Nie zdefiniowano pliku config.analytics.uri | assert | assert(config.analytics.uri, nie zdefiniowano parametru 'config.analytics.uri'); |
error | Klucz config.apikeys.public_key nie jest zdefiniowany | assert | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key nie jest zdefiniowany'); |
error | Plik config.edge_config nie jest zdefiniowany | assert | assert(config.edge_config, 'config.edge_config nie jest zdefiniowany'); |
error | Plik config.edge_config.bootstrap nie jest zdefiniowany | assert | assert(config.edge_config.bootstrap, nie zdefiniowano wartości 'config.edge_config.bootstrap'); |
error | Klucz config.edge_config.jwt_public_key nie jest zdefiniowany | assert | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key nie jest zdefiniowany'); |
error | Jeśli zdefiniowany jest parametr config.edge_config.proxy_tunnel, należy zdefiniować parametr config.edge_config.proxy | assert | assert(typeof config.edge_config.proxy !== 'undefined', musi być zdefiniowany „config.edge_config.proxy”, jeśli zdefiniowano parametr config.edge_config.proxy_tunnel'); |
error | config.edge_config.proxy_tunnel is not a boolean | assert | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
error | config.edge_config.refresh_interval nie jest liczbą | assert | assert(typeof config.edge_config.refresh_interval === 'liczba', 'config.edge_config.refresh_interval nie jest liczbą'); |
error | Wartość config.edge_config.refresh_interval jest za mała (co najmniej 1 godz.) | assert | assert(config.edge_config.refresh_interval >= 3600000, wartość 'config.edge_config.refresh_interval jest za mała (co najmniej 1 h)'); |
error | Pole config.edge_config.retry_interval nie jest liczbą | assert | assert(typeof config.edge_config.retry_interval === 'liczba', 'config.edge_config.retry_interval nie jest liczbą'); |
error | Wartość config.edge_config.retry_interval jest za mała (co najmniej 5 s) | assert | assert(config.edge_config.retry_interval >= 5000, wartość 'config.edge_config.retry_interval jest zbyt mała (min. 5 s)'); |
error | Plik config.edgemicro nie jest zdefiniowany | assert | assert(config.edgemicro, 'config.edgemicro nie jest zdefiniowany'); |
error | Nie zdefiniowano pliku config.edgemicro.logging | assert | assert(config.edgemicro.logging, nie zdefiniowano pliku 'config.edgemicro.logging'); |
error | Nie zdefiniowano pliku config.edgemicro.logging.dir | assert | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, nie zdefiniowano elementu 'config.edgemicro.logging.dir'); |
error | Pole config.edgemicro.logging.level nie jest zdefiniowane | assert | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level nie jest zdefiniowany'); |
error | config.edgemicro.max_connections nie jest liczbą | assert | assert(typeof config.edgemicro.max_connections === 'liczba', 'config.edgemicro.max_connections nie jest liczbą'); |
error | Pole config.edgemicro.max_connections nie jest zdefiniowane | assert | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections nie jest zdefiniowana'); |
error | config.edgemicro.Plugins.sequence nie jest tablicą | assert | assert(Track.isSlate(config.edgemicro.Wtyczki.sequence), 'config.edgemicro.Plugins.sequence nie jest tablicą'); |
error | Nie zdefiniowano pliku config.edgemicro.port | assert | assert(config.edgemicro.port, 'config.edgemicro.port nie jest zdefiniowany'); |
error | Nie zdefiniowano pliku config.oauth.allowInvalidAuthorization | assert | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization nie jest zdefiniowany'); |
error | Pole config.oauth.allowNoAuthorization nie jest zdefiniowane | assert | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization nie jest zdefiniowany'); |
error | Niezdefiniowany klucz config.oauth.public_key | assert | assert(typeof config.oauth.public_key === 'ciąg_znaków', 'config.oauth.public_key nie jest zdefiniowany'); |
error | Niezdefiniowany klucz config.oauthv2.public_key | assert | assert(typeof config.oauthv2.public_key === 'ciąg_znaków', 'config.oauthv2.public_key nie jest zdefiniowany'); |
error | Nie zdefiniowano pliku config.proxies | assert | assert(config.proxies, nie zdefiniowano pliku 'config.proxies'); |
error | Plik config.proxy[ + indeks + ].base_path nie jest zdefiniowany | assert | assert(proxy.base_path, 'config.proxy[' + indeks + '].base_path nie zdefiniowano'); |
error | config.proxy[ + indeks + ].max_connections nie jest liczbą | assert | assert(typeof proxy.max_connections === 'liczba', 'config.proxy[' + indeks + '].max_connections nie jest liczbą'); |
error | Plik config.proxy[ + indeks + ].max_connections nie jest zdefiniowany | assert | assert(proxy.max_connections, „config.proxy[” + indeks + '].max_connections nie jest zdefiniowana'); |
error | Plik config.proxy[ + indeks + ].name nie jest zdefiniowany | assert | assert(proxy.name, 'config.proxy[' + indeks + '].name nie jest zdefiniowana'); |
error | Plik config.proxy[ + indeks + ].proxy_name nie jest zdefiniowany | assert | assert(proxy.target_name, 'config.proxy[' + indeks + '].proxy_name nie jest zdefiniowano'); |
error | Plik config.proxy[ + indeks + ].revision nie jest zdefiniowany | assert | assert(proxy.revision, „config.proxy[” + indeks + '].revision nie jest zdefiniowana'); |
error | Plik config.proxy[ + indeks + ].url nie jest zdefiniowany | assert | assert(proxy.url, 'config.proxy[' + indeks + '].url nie został zdefiniowany'); |
error | Pole config.quota.allow nie jest liczbą | assert | assert(typeof config.quota.allow === 'liczba', 'config.quota.allow nie jest liczbą'); |
error | Pole config.quota.allow nie jest zdefiniowane | assert | assert(config.quota.allow, nie zdefiniowano ciągu 'config.quota.allow'); |
error | Pole config.quota.interval nie jest liczbą | assert | assert(typeof config.quota.interval === 'liczba', 'config.quota.interval nie jest liczbą'); |
error | Nie zdefiniowano parametru config.quota.interval | assert | assert(config.quota.interval, nie zdefiniowano wartości 'config.quota.interval'); |
error | Nie zdefiniowano parametru config.spikearrest | assert | assert(config.spikearrest, 'config.spikearrest nie jest zdefiniowany'); |
error | Plik config.spikearrest.allow jest nieprawidłowy | assert | assert(+config.spikearrest.allow > 0, nazwa „config.spikearrest.allow jest nieprawidłowa'); |
error | Plik config.spikearrest.allow nie jest liczbą | assert | assert(typeof config.spikearrest.allow === 'liczba', 'config.spikearrest.allow nie jest liczbą'); |
error | Pole config.spikearrest.allow nie jest zdefiniowane | assert | assert(config.spikearrest.allow, 'config.spikearrest.allow nie jest zdefiniowany'); |
error | Pole config.spikearrest.bufferSize jest nieprawidłowe | assert | assert(+config.spikearrest.bufferSize > 0, wartość „config.spikearrest.bufferSize” jest nieprawidłowa'); |
error | config.spikearrest.bufferSize nie jest liczbą | assert | assert(typeof config.spikearrest.bufferSize === 'liczba', 'config.spikearrest.bufferSize nie jest liczbą'); |
error | Nie zdefiniowano parametru config.spikearrest.timeUnit | assert | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit nie jest zdefiniowana'); |
error | BŁĄD KRYTYCZNY: błąd podczas analizowania pobranej listy produktów | wywołanie zwrotne | |
error | BŁĄD KRYTYCZNY: błąd podczas analizowania pobranej listy serwerów proxy | wywołanie zwrotne | |
error | BŁĄD – WYKRYTO NIEPRAWIDŁOWA KONFIGURACJA PRODUKTU | console.error | Następnie Console.warn('używanie starej konfiguracji z pamięci podręcznej'); |
error | błąd podczas odczytywania konfiguracji z: | rzuty | Plik yaml konfiguracji |
error | błąd podczas zapisywania konfiguracji w | wywołanie zwrotne | Plik yaml konfiguracji |
error | fatal: konfiguracja z pamięci podręcznej jest niedostępna, nie można kontynuować | wywołanie zwrotne | |
error | interval_message | assert | assert(+config.quota.interval > 0, international_message); |
error | nieprawidłowy protokół dla config.edge_config.proxy (oczekiwany http: lub https:: + proxy_url.protocol) | assert | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'nieprawidłowy protokół dla config.edge_config.proxy (oczekiwany http: lub https:): ' + proxy_url.protocol); |
error | nieprawidłowy host proxy dla config.edge_config.proxy | assert | assert(proxy_url.hostname, 'nieprawidłowy host proxy dla config.edge_config.proxy: ' +adres_url_serwera_proxy); |
error | wygląda na to, że nie skonfigurowano Edge micro. Więcej informacji znajdziesz w przewodniku dla administratorów | wywołanie zwrotne | Wynik: nie udało się wczytać konfiguracji |
error | brak klucza | assert | assert(keys.key, 'brak klucza'); |
error | musi mieć parametr configDir | assert | assert(configDir, 'musi mieć plik configDir') |
error | muszą mieć opcje | assert | assert(options, 'musi mieć opcje'); |
error | musi mieć źródło | assert | assert(source, 'musi mieć źródło') |
error | musi mieć źródło, z którego ma być ładowany | assert | assert(options.source, 'musi mieć źródło do wczytania z') |
error | musi mieć plik targetFile | assert | assert(fileName, 'musi mieć plik targetFile') |
error | opcje nie mogą być puste | assert | assert(options, 'opcje nie mogą mieć wartości null'); |
error | opcje.keys nie mogą mieć wartości null | assert | assert(options.keys, 'options.keys nie może mieć wartości null'); |
error | port_message | assert | assert(+config.edgemicro.port < 65536, port_message); |
error | produkty powinny być tablicą | assert | assert(Track.isTrack(products), 'produkty powinny być tablicami'); |
error | „Serwery proxy dla produktu ” + produkt + ' powinny być tablicą” | assert | assert(Slate.isTrack(product.proxies), „serwery proxy dla produktu ” + produkt + ' powinny być tablicami'); |
error | brak obiektu tajnego | assert | assert(keys.secret, 'secret is missing'); |
error | wartość docelowa nie jest ustawiona | assert | assert(target, 'target is not set'); |
warn | błąd podczas pobierania konfiguracji, sprawdź konfigurację wczytywania | console.warn | |
warn | nie udało się pobrać klucza jwt_public_key | console.warn | |
warn | Klucze jwk nie są włączone | console.warn | |
warn | message, "download from", url, 'returned' | console.warn | Wyszukaj: (.*)\sdownload from\s(.*)\sreturned |
warn | w odpowiedzi nie znaleziono żadnych mikroproduktów Edge | console.warn | |
warn | nie znaleziono Edge mikroserwerów proxy w organizacji | console.warn | |
warn | w odpowiedzi nie znaleziono żadnych mikroserwerów brzegowych | console.warn | |
warn | nie znaleziono produktów w organizacji | console.warn | |
warn | nie znaleziono produktów w odpowiedzi | console.warn | |
warn | ze starą konfiguracją pamięci podręcznej | console.warn | |
Moduł microgateway-Wtyczki |
|||
error | konfiguracja nie istnieje | rzuty | Powiązane z plikiem yaml |
error | apikey | Odpowiedź HTTP | Błędy we wtyczce apiky |
error | protokół bauth | Odpowiedź HTTP | Błędy we wtyczce bauth |
error | extauth | Odpowiedź HTTP | Błędy we wtyczce extauth |
error | OAuth | Odpowiedź HTTP | Błędy we wtyczce OAuth |
warn | Podczas przetwarzania analizy Apigee wystąpił błąd. Zezwalanie na kontynuowanie przetwarzania żądań | logger.error | |
warn | ignoruję błąd | console.warn | wtyczki apikeys, OAuth i oauthv2; |
warn | błąd podczas analizy składni jwt: | console.warn | |
warn | obiekt odpowiedzi Oath nie ma parametru setHeader | console.warn | Błąd parametru OAuth oznacza, że niektóre błędy nie zostaną zgłoszone. |
warn | Obiekt odpowiedzi Oath nie jest dostarczany przez środowisko wykonawcze | console.warn | błąd parametru OAuth |
warn | obiekt statystyk Oath nie jest dostarczany przez środowisko wykonawcze | console.warn | błąd parametru OAuth |
Moduł apigeetool-node |
|||
error | Nie udało się usunąć pamięci podręcznej z kodem stanu %d', res.statusCode | wywołanie zwrotne | Wrzucono plik deletecache.js. Kod stanu z Apigee Edge. Przekazuje do wywołania zwrotnego błędu zrzutu stosu z komunikatem: read(new Error(errMsgrenewal) |
error | Nie udało się usunąć produktu – kod stanu: %d', res.statusCode | wywołanie zwrotne | Dodano plik deleteproduct.js. Kod stanu z Apigee Edge. Przekazuje do wywołania zwrotnego błędu zrzutu stosu z komunikatem: read(new Error(errMsgrenewal) |
error | Musisz określić organizację, interfejs API i wersję. | wywołanie zwrotne | Zgłoszono żądanie w pliku fetchproxy.js. Błąd konfiguracji. |
error | Otrzymano błąd %d podczas pobierania serwera proxy: %j | wywołanie zwrotne | Zgłoszono żądanie w pliku fetchproxy.js. Kod stanu inny niż 200. |
error | Nie udało się utworzyć aplikacji. Kod stanu: %d | wywołanie zwrotne | Wrzucono w pliku createapp.js. Przekazuje wszystkie błędy z powrotem do wywołań zwrotnych jako błędy zrzutu stosu. Nie powoduje tworzenia wydruków w konsoli ani wpisów w dzienniku. |
error | Niepowodzenie polecenia + ' (kod stanu: %d) | wywołanie zwrotne | Zwrócony w pliku client-utils.js. Niezależnie od tego, co zostanie przeanalizowane i przekazane do tego modułu, każdy kod inny niż 200 ani 201 wygeneruje komunikat o błędzie. Formatuje tę wiadomość, ale nie jest drukowany. Przekazuje błąd zrzutu stosu z komunikatem z powrotem do wywołań zwrotnych. |
error | Podczas pobierania udostępnionego przepływu wystąpił błąd %d: %s | wywołanie zwrotne | Wstawiono plik fetchsharedflow.js. Dla każdego stanu HTTP innego niż 200. Jeśli się uda, ale nie zapisze pliku, w konsoli zostanie zapisany: Nie udało się zapisać pliku Tekst błędu: [stack_trace_error] |
error | Nie udało się utworzyć klucza tajnego, kod stanu %d', res.statusCode | wywołanie zwrotne | Dodano do pliku createappkey.js. Dla kodów stanu HTTP z Apigee Edge innych niż 200 ani 201. |
error | Nie udało się utworzyć pamięci podręcznej z kodem stanu %d', res.statusCode | wywołanie zwrotne | Wrzucono w pliku createcache.js. Dotyczy kodów stanu HTTP z Apigee Edge innych niż 200 ani 201. |
error | Nie udało się utworzyć produktu – kod stanu: %d', res.statusCode | wywołanie zwrotne | Dodano do pliku createproduct.js. Dla kodów stanu HTTP z Apigee Edge innych niż 201. Jeśli stan HTTP to 201, ale odpowiedź zawiera błąd w formacie JSON, jest on przekazywany do wywołania zwrotnego. |
error | Nie udało się usunąć aplikacji – kod stanu: %d', res.statusCode | wywołanie zwrotne | Dodano plik deleteapp.js. W przypadku kodów stanu HTTP z Apigee Edge innych niż 200. Jeśli stan HTTP to 200, ale odpowiedź zawiera błąd w formacie JSON, jest on przekazywany do wywołania zwrotnego. |
error | Nie udało się utworzyć dewelopera (kod stanu: %d', res.statusCode) | wywołanie zwrotne | Dodano do pliku createdeveloper.js. Dla kodów stanu HTTP z Apigee Edge innych niż 201. Jeśli stan HTTP to 201, ale odpowiedź zawiera błąd w formacie JSON, jest on przekazywany do wywołania zwrotnego. |
error | Nie udało się usunąć dewelopera (kod stanu: %d', res.statusCode) | wywołanie zwrotne | Wstawiono plik deletedeveloper.js. W przypadku kodów stanu HTTP z Apigee Edge innych niż 200. Jeśli stan HTTP to 200, ale odpowiedź zawiera błąd w formacie JSON, jest on przekazywany do wywołania zwrotnego. |
Błędy wtyczek
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request
plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response
plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics
plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
access_denied | Copy service message | 403 | In response to the auth service timeout |
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service
plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors
plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient
plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
access_denied | Copy service message | 403 | In response to the auth service timeout |
missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase
plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
503 | Too busy. No messages in HTTP or console | ||
default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader
plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor
plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth
plug-in (v1) with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Authorization Header | 400 |
|
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
Access_denied | Copy service message | 403 | In response to the auth service timeout |
invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2
plug-in with descriptions of possible causes.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_request | Invalid Authorization Header | 400 |
|
invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
access_denied | Copy service message | 403 | In response to the auth service timeout |
invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Copy service message | 504 | In response to the auth timeout |
default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota
plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
default | 500 | All other not categorized | |
throw | uri parameter must be specified | apigeequota.js | |
throw | key parameter must be specified | apigeequota.js | |
callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory
plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
default | 500 | All other not categorized | |
throw | start time not allowed for month time units | quota.js. volos error on time format. | |
throw | Invalid start time %s | quota.js. volos error on time format. | |
throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest
plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
Error | Message | HTTP status | Possible Causes |
---|---|---|---|
SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
throw | Invalid timeUnit %s | spikearrest.js | |
callback | key must be a string | spikearrest.js | |
throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase
plug-in with descriptions of possible causes.
No errors generated.