Znane problemy z Apigee

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
informacje.

W poniższych sekcjach opisano znane problemy z Apigee. W większości przypadków wymienione problemy zostaną rozwiązane w kolejnej wersji.

Różne znane problemy z Edge

W tych sekcjach opisano różne znane problemy z Edge.

Powierzchnia Znane problemy
Wygaśnięcie pamięci podręcznej powoduje nieprawidłową wartość cachehit

Gdy po zasadzie LookupCache jest używana zmienna przepływu cachehit, ze względu na sposób wysyłania punktów debugowania w celu asynchronicznego działania LookupPolicy wypełnia obiekt DebugInfo przed wykonaniem wywołania zwrotnego, co skutkuje błędem.

Obejście: powtórz ten proces (utwórz drugie wywołanie) tuż po pierwszym wywołaniu.

Ustawianie wartości „true” (prawda) PurgeChildEntries nie działa prawidłowo

Ustawienie PurgeChildEntries w zasadzie InvalidateCache powinno trwale usuwać tylko wartości elementu KeyFragment, ale czyści całą pamięć podręczną.

Obejście: użyj zasady KeyValueMapOperations, aby iterować obsługę wersji pamięci podręcznej i pominąć potrzebę unieważniania pamięci podręcznej.

Znane problemy z interfejsem Edge

W tych sekcjach opisano znane problemy z interfejsem Edge.

Powierzchnia Znane problemy
Po zmapowaniu organizacji na strefę tożsamości nie można uzyskać dostępu do strony administrowania strefą logowania Edge SSO z paska nawigacyjnego Gdy połączysz organizację ze strefą tożsamości, utracisz dostęp do strony Administrowanie strefą logowania na serwerach brzegowych za pomocą lewego paska nawigacyjnego – wybierz Administrator > Logowanie jednokrotne. Aby obejść ten problem, otwórz stronę bezpośrednio, korzystając z tego adresu URL: https://apigee.com/sso

Znane problemy ze zintegrowanym portalem

W poniższych sekcjach opisano znane problemy ze zintegrowanym portalem.

Powierzchnia Znane problemy
SmartDocs
  • Apigee Edge obsługuje OpenAPI 3.0, gdy tworzysz specyfikacje w edytorze specyfikacji i publikujesz interfejsy API przy użyciu SmartDokumentów w portalu, ale niektóre funkcje nie są jeszcze obsługiwane.

    Na przykład te funkcje ze specyfikacji OpenAPI 3.0 nie są jeszcze obsługiwane:

    • Właściwości allOf służące do łączenia i rozszerzania schematów
    • Odwołania zdalne

    Jeśli specyfikacja OpenAPI odwołuje się do nieobsługiwanej funkcji, narzędzia w niektórych przypadkach ją zignorują, ale nadal będą renderować dokumentację API. W innych przypadkach nieobsługiwana funkcja spowoduje błędy, które uniemożliwią prawidłowe wyrenderowanie dokumentacji referencyjnej interfejsu API. W obu przypadkach musisz zmodyfikować specyfikację OpenAPI, aby uniknąć korzystania z nieobsługiwanej funkcji do czasu jej obsługi w kolejnej wersji.

    Uwaga: edytor specyfikacji jest mniej restrykcyjny niż aplikacja SmartDokumentacja w przypadku renderowania dokumentacji referencyjnej interfejsu API, dlatego wyniki poszczególnych narzędzi mogą się różnić.

  • Gdy używasz w portalu tego interfejsu API, nagłówek Accept jest ustawiony na application/json niezależnie od wartości consumes ustawionej w specyfikacji OpenAPI.
dostawca tożsamości SAML W przypadku domen niestandardowych logowanie jednokrotne przy użyciu dostawcy tożsamości SAML nie jest obsługiwane. Aby włączyć domenę niestandardową z dostawcą tożsamości SAML, podczas konfigurowania ustawień SAML pozostaw pole Sign-out URL (URL wylogowania) puste.
Administrator portalu
  • Jednoczesne aktualizowanie portalu (np. strony, motywu, arkusza CSS lub skryptu) przez wielu użytkowników nie jest obecnie obsługiwane.
  • Jeśli usuniesz z portalu stronę dokumentacji API, nie będzie można jej ponownie utworzyć. Musisz usunąć i ponownie dodać usługę API oraz ponownie wygenerować dokumentację API.
  • Podczas konfigurowania zasad bezpieczeństwa treści może minąć do 15 minut, zanim zmiany będą w pełni stosowane.
  • Podczas dostosowywania motywu portalu zastosowanie wszystkich zmian może potrwać do 5 minut.
Funkcje portalu
  • W nadchodzącej wersji wyszukiwarka zostanie zintegrowana ze zintegrowanym portalem.

Znane problemy z Edge dla Private Cloud

W poniższych sekcjach opisano znane problemy z Edge dla Private Cloud.

Obszar Znane problemy
OPDK 4.52.01 – aktualizacja Mint

Ten problem dotyczy tylko użytkowników, którzy używają MINT lub mają włączoną usługę MINT w Edge dla Private Cloud.

Komponent, którego dotyczy problem: Edge-message-processor

Problem: jeśli masz włączone zarabianie i instalujesz wersję 4.52.01 jako nową instalację lub aktualizację z poprzednich wersji Private Cloud, wystąpi problem z procesorami wiadomości. Liczba otwartych wątków będzie się stopniowo zwiększać, co doprowadzi do wyczerpania zasobów. W pliku Edge-message-processor system.log można zaobserwować następujący wyjątek:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Luka w zabezpieczeniach Apigee HTTP/2

Luka typu DoS (Denial of Service) została ostatnio odkryta w wielu implementacji protokołu HTTP/2 (CVE-2023-44487), w tym w Apigee Edge dla Chmura prywatna. Luka w zabezpieczeniach może skutkować atakami DoS funkcji zarządzania interfejsem Apigee API. Więcej informacji znajdziesz w artykule Biuletyn na temat bezpieczeństwa Apigee GCP-2023-032.

Komponenty routera i serwera zarządzania Edge dla chmury prywatnej są dostępne i mogą być podatne na ataki. Chociaż protokół HTTP/2 jest włączony na poziomie zarządzania innych komponentów Edge dla Edge for Private Cloud, żaden z tych komponentów nie jest na dostęp do internetu. W przypadku komponentów innych niż Edge, takich jak Cassandra czy Zookeeper, HTTP/2 nie jest włączony. Zalecamy wykonanie te kroki, aby rozwiązać problem z luką w zabezpieczeniach Edge for Private Cloud:

Jeśli używasz Edge Private Cloud w wersji 4.51.00.11 lub nowszej, wykonaj te czynności:

  1. Zaktualizuj serwer zarządzania:

    1. W każdym węźle serwera zarządzania otwórz plik /opt/apigee/customer/application/management-server.properties
    2. Dodaj ten wiersz do pliku właściwości:
      conf_webserver_http2.enabled=false
    3. Ponownie uruchom komponent serwera zarządzania:
      apigee-service edge-management-server restart
  2. Zaktualizuj procesor wiadomości:

    1. W każdym węźle procesora wiadomości otwórz: /opt/apigee/customer/application/message-processor.properties
    2. Dodaj ten wiersz do pliku właściwości:
      conf_webserver_http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-message-processor restart
  3. Zaktualizuj router:

    1. W każdym węźle routera otwórz folder /opt/apigee/customer/application/router.properties
    2. Dodaj ten wiersz do pliku właściwości:
      conf_webserver_http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-router restart
  4. Aktualizowanie QPID:

    1. W każdym węźle QPID otwórz plik /opt/apigee/customer/application/qpid-server.properties.
    2. Dodaj ten wiersz do pliku właściwości:
      conf_webserver_http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-qpid-server restart
  5. Aktualizowanie Postgres:

    1. W każdym węźle Postgres otwórz plik /opt/apigee/customer/application/postgres-server.properties.
    2. Dodaj ten wiersz do pliku właściwości:
      conf_webserver_http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-postgres-server restart

Jeśli używasz Edge for Private Cloud w wersji starszej niż 4.51.00.11, wykonaj te czynności:

  1. Zaktualizuj serwer zarządzania:

    1. W każdym węźle serwera zarządzania otwórz plik /opt/apigee/customer/application/management-server.properties
    2. Dodaj do pliku właściwości te 2 wiersze:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Ponownie uruchom komponent serwera zarządzania:
      apigee-service edge-management-server restart
  2. Zaktualizuj procesor wiadomości:

    1. W każdym węźle procesora wiadomości otwórz: /opt/apigee/customer/application/message-processor.properties
    2. Dodaj do pliku właściwości te 2 wiersze:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-message-processor restart
  3. Zaktualizuj router:

    1. W każdym węźle routera otwórz folder /opt/apigee/customer/application/router.properties
    2. Dodaj do pliku właściwości te 2 wiersze:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-router restart
  4. Aktualizowanie QPID:

    1. W każdym węźle QPID otwórz plik /opt/apigee/customer/application/qpid-server.properties.
    2. Dodaj do pliku właściwości te 2 wiersze:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-qpid-server restart
  5. Aktualizowanie Postgres:

    1. W każdym węźle Postgres otwórz plik /opt/apigee/customer/application/postgres-server.properties.
    2. Dodaj do pliku właściwości te 2 wiersze:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Ponownie uruchom komponent procesora wiadomości:
      apigee-service edge-postgres-server restart
.
Uaktualnienie Postgresql podczas aktualizowania do wersji 4.52

Apigee-postgresql ma problemy z uaktualnieniem Edge dla Private Cloud z wersji 4.50 lub 4.51 do wersji 4.52. Problemy dotyczą głównie występują, gdy liczba tabel jest większa niż 500.

Całkowitą liczbę tabel możesz sprawdzić w Postgres, uruchamiając zapytanie SQL poniżej:

select count(*) from information_schema.tables

Obejście: gdy Aktualizuję Apigee Edge w wersji 4.50.00 lub 4.51.00 do wersji 4.52.00, pamiętaj, aby wykonać krok wstępny przed uaktualnieniem Apigee-postgresql.

apigee-mirror w RHEL 8.0

apigee-mirror nie działa w systemie Red Hat Enterprise Linux (RHEL) 8.0.

Obejście: Aby obejść ten problem, zainstaluj apigee-mirror na serwerze z niższą wersją RHEL lub innej obsługiwany systemu operacyjnego na potrzeby Apigee. Następnie możesz użyć lustra do dodawać pakiety nawet wtedy, gdy usługa Apigee została zainstalowana na serwerach RHEL 8.0.

Zasada LDAP

149245401: ustawienia puli połączeń LDAP dla JNDI skonfigurowane za pomocą Zasób LDAP nie są odzwierciedlane, a ustawienia domyślne JNDI powodują za każdym razem połączenia jednorazowe. W rezultacie trwa nawiązywanie połączeń i zamkniętych za każdym razem, co daje dużą liczbę połączeń na godzinę z serwerem LDAP.

Obejście:

Aby zmienić właściwości puli połączeń LDAP, wykonaj wykonaj poniższe kroki, aby ustawić globalną zmianę we wszystkich zasadach LDAP.

  1. Jeśli plik nie istnieje, utwórz go:
    /opt/apigee/customer/application/message-processor.properties
  2. Dodaj do pliku następujące elementy (zastąp wartości Właściwości Java Naming and Directory Interface (JNDI) zgodnie z wymaganiami konfiguracji zasobów LDAP).
    bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
    -Dcom.sun.jndi.ldap.connect.pool.prefsize=2
    -Dcom.sun.jndi.ldap.connect.pool.initsize=2
    -Dcom.sun.jndi.ldap.connect.pool.timeout=120000
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
  3. Upewnij się, że plik /opt/apigee/customer/application/message-processor.properties to Należy do apigee:apigee.
  4. Uruchom ponownie każdy procesor wiadomości.

Aby sprawdzić, czy pula połączeń JNDI możesz dostosować skuteczność reklam, Wykonaj tcpdump, aby obserwować zachowanie puli połączeń LDAP w czasie.

Duże opóźnienie przetwarzania żądań

139051927: duże opóźnienia przetwarzania serwera proxy w procesorze wiadomości wpływają na dla wszystkich serwerów proxy API. Objawy obejmują opóźnienie przetwarzania o 200–300 ms w stosunku do normalnego Odpowiedź interfejsu API może być losowy, nawet przy niskim TPS. Może się tak zdarzyć, gdy ponad 50 wartości docelowych z serwerami, z którymi procesor wiadomości nawiązuje połączenia.

Główna przyczyna: Procesory wiadomości zachowują pamięć podręczną, która mapuje adres URL serwera docelowego na obiekt HTTPClient dla: połączenia wychodzące z serwerami docelowymi. Domyślnie ma ono wartość 50, ale może być zbyt niskie dla większości wdrożeń. Jeśli wdrożenie ma wiele kombinacji organizacji i środowisk w konfiguracji, i mieć dużą liczbę serwerów docelowych, która łącznie przekracza 50, adresy URL serwerów docelowych są nadal usuwane z pamięci podręcznej, co powoduje opóźnienia.

Weryfikacja: Aby określić, czy usunięcie adresu URL serwera docelowego jest przyczyną problemu z opóźnieniem, wyszukaj Logi system.log procesora wiadomości dla słowa kluczowego „onEvict” czy „usunięcie”. Ich obecność w dziennikach wskazuje, że docelowe adresy URL serwerów są usuwane z pamięci podręcznej HTTPClient, ponieważ jej rozmiar jest zbyt mały.

Obejście: W przypadku Edge for Private Cloud w wersji 19.01 i 19.06 możesz edytować i konfigurować klienta HTTPClient pamięć podręczna, /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

Następnie ponownie uruchom procesor wiadomości. Wprowadź te same zmiany dla wszystkich procesorów wiadomości.

Przykładem może być wartość 500. Optymalna wartość dla Twojej konfiguracji powinna być większa niż liczbę serwerów docelowych, z którymi procesor wiadomości mógłby się łączyć. Nie ma strony efekty z ustawienie tej właściwości na wyższym poziomie, jedynym skutkiem będzie udoskonalona obsługa wiadomości czas przetwarzania żądań do serwera proxy.

Uwaga: ustawienie Edge for Private Cloud w wersji 50.00 ma domyślne ustawienie 500.

Wiele wpisów dotyczących map klucz-wartość

157933959: równocześnie wstawia i aktualizuje mapę tej samej wartości klucza (KVM) w zakresie na poziomie organizacji lub środowiska powoduje niespójność danych i utratę aktualizacji.

Uwaga: to ograniczenie dotyczy tylko Edge dla Private Cloud. Edge dla chmury publicznej i tryb hybrydowy nie mają tego ograniczenia.

Aby obejść ten problem w Edge dla Private Cloud, utwórz KVM w zakres: apiproxy.