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 for Private Cloud

W poniższych sekcjach opisaliśmy znane problemy z Edge for Private Cloud.

Obszar Znane problemy
Uaktualnienie na miejscu do wersji 4.53.00

W przypadku Edge for Private Cloud 4.53.00 tworzenie nowych klasterów jest możliwe tylko przez nową procedurę instalacji. Uaktualnienia w miejscu nie są obsługiwane. Jeśli używasz obecnie starszej wersji Edge for Private Cloud, bezpośrednie przejście na wersję 4.53.00 nie jest możliwe.

Chociaż uaktualnienia na miejscu nie są obsługiwane, możesz skonfigurować nowy klaster Edge dla prywatnej chmury 4.53.00 i użyć interfejsów API do zarządzania, aby wyeksportować dane ze starego klastra i zaimportować je do nowego klastra 4.53.00.

4.53.00 Logowanie jednokrotne i nowe UI

Ten problem dotyczy użytkowników próbujących zainstalować logowanie jednokrotne lub nowy interfejs użytkownika w RHEL 8 z obsługą FIPS w Edge for Private Cloud 4.53.00.

Komponent, którego dotyczy problem: logowanie jednokrotne i nowy interfejs użytkownika

Problem: jeśli instalujesz SSO lub nowe UI w systemie operacyjnym RHEL 8 z włączonym FIPS, instalacja się nie powiedzie.

Obejście: zalecamy używanie klasycznego interfejsu, który jest kompletny i spełnia wymagania dotyczące funkcjonalności interfejsu.

Aktualizacja Mint w Edge for Private Cloud 4.52.01

Ten problem dotyczy tylko użytkowników korzystających z MINT lub którzy mają MINT włączone w instalacjach Edge for Private Cloud.

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

Problem: jeśli masz włączoną monetyzację i instalujesz wersję 4.52.01 jako nową lub aktualizujesz poprzednią wersję Private Cloud, napotkasz problem z procesorami wiadomości. Liczba otwartych wątków będzie stopniowo wzrastać, co doprowadzi do wyczerpania zasobów. W pliku system.log w procesie edge-message-processor pojawia się ten wyjątek:

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

W wielu implementacjach protokołu HTTP/2 (CVE-2023-44487), w tym w Apigee Edge for Private Cloud, wykryto niedawno podatność na atak typu odmowa usługi (DoS). Ta luka może prowadzić do ataku typu DoS na funkcję zarządzania interfejsami API Apigee. Więcej informacji znajdziesz w biuletynie o zabezpieczeniach Apigee GCP-2023-032.

Komponenty routera i serwera zarządzania Edge for Private Cloud są dostępne w internecie i mogą być potencjalnie podatne na ataki. Mimo że protokół HTTP/2 jest włączony na porcie zarządzania innych komponentów Edge w Edge dla prywatnej chmury, żaden z tych komponentów nie jest dostępny w internecie. W przypadku komponentów innych niż Edge, takich jak Cassandra, Zookeeper i inne, HTTP/2 nie jest włączone. Aby usunąć lukę w zabezpieczeniach Edge for Private Cloud, zalecamy wykonanie tych czynności:

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

  1. Aktualizowanie serwera zarządzania:

    1. Na każdym węźle serwera zarządzania otwórz /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. Na 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. Aktualizowanie routera:

    1. Na każdym routerze otwórz /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. Na każdym węźle QPID otwórz /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. Aktualizowanie serwera zarządzania:

    1. Na każdym węźle serwera zarządzania otwórz /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. Na 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. Aktualizowanie routera:

    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. Na każdym węźle QPID otwórz /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. Aktualizacja Postgres:

    1. Na każdym węźle Postgres otwórz /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

W przypadku usługi Apigee-postgresql występują problemy z aktualizacją z wersji 4.50 lub 4.51 Edge for Private Cloud do wersji 4.52. Problemy występują głównie wtedy, gdy liczba tabel przekracza 500.

Łączną liczbę tabel w Postgres możesz sprawdzić, wykonując to zapytanie SQL:

select count(*) from information_schema.tables

Rozwiązanie: jeśli aktualizujesz Apigee Edge 4.50.00 lub 4.51.00 na 4.52.00, przed uaktualnieniem Apigee-postgresql wykonaj krok wstępny.

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 innym obsługiwanym systemem operacyjnym na potrzeby Apigee. Możesz wtedy dodawać pakiety za pomocą kopii lustrzanej, nawet jeśli zainstalowano Apigee na serwerach RHEL 8.0.

Zasada LDAP

149245401: Ustawienia puli połączeń LDAP dla JNDI skonfigurowane za pomocą zasobu LDAP nie są odzwierciedlane, a domyślne wartości JNDI powodują, że połączenia są używane tylko raz. W związku z tym połączenia są za każdym razem otwierane i zamykane do użytku jednorazowego, co powoduje dużą liczbę połączeń na godzinę z serwerem LDAP.

Obejście:

Aby zmienić właściwości puli połączeń LDAP, wykonaj te czynności, aby wprowadzić zmianę globalną we wszystkich zasadach LDAP.

  1. Utwórz plik właściwości konfiguracji, jeśli jeszcze nie istnieje:
    /opt/apigee/customer/application/message-processor.properties
  2. Dodaj do pliku te wartości (zastąp wartości właściwości Java Naming i 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 należy do użytkownika apigee:apigee.
  4. Uruchom ponownie każdy procesor wiadomości.

Aby sprawdzić, czy właściwości JNDI puli połączeń działają, możesz wykonać tcpdump w celu obserwowania zachowania puli połączeń LDAP w czasie.

Wysoki czas przetwarzania żądania

139051927: Wysokie opóźnienia przetwarzania przez serwer proxy znalezione w procesorze wiadomości wpływają na wszystkie serwery proxy interfejsu API. Objawy to opóźnienia w przetwarzaniu o 200–300 ms w porównaniu z normalnym czasem odpowiedzi interfejsu API. Mogą one występować losowo nawet przy niskim wskaźniku TPS. Może się to zdarzyć, gdy ponad 50 celowych serwerów, z którymi łączą się procesory wiadomości,

Przyczyna źródłowa: procesory wiadomości przechowują pamięć podręczną, która mapuje adres URL docelowego serwera na obiekt HTTPClient dla połączeń wychodzących na serwery docelowe. Domyślnie to ustawienie jest skonfigurowane jako 50, co może być za niskie w przypadku większości wdrożeń. Jeśli w ramach wdrożenia występuje wiele kombinacji organizacji/środowiska, a liczba docelowych serwerów przekracza 50, adresy URL docelowych serwerów są stale usuwane z pamięci podręcznej, co powoduje opóźnienia.

Weryfikacja: Aby sprawdzić, czy usuwanie adresu URL serwera docelowego powoduje problem z opóźnieniem, przeszukaj pliki system.logs usługi Message Processor pod kątem obecności słowa kluczowego „onEvict” lub „Eviction”. Ich obecność w logach oznacza, że adresy URL serwera docelowego są wykluczane z pamięci podręcznej HTTPClient z powodu zbyt małego rozmiaru pamięci podręcznej.

Rozwiązanie: w przypadku Edge for Private Cloud w wersjach 19.01 i 19.06 możesz edytować i konfigurować pamięć podręczną HTTPClient: /opt/apigee/customer/application/message-processor.properties

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

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

Wartość 500 to przykład. Optymalna wartość dla konfiguracji powinna być większa od liczby serwerów docelowych, z którymi procesor wiadomości mógłby się łączyć. Ustawienie tej właściwości nie ma żadnych skutków ubocznych, a jedynym skutkiem będzie skrócenie czasu przetwarzania żądań przez procesor wiadomości.

Uwaga: w Edge dla Private Cloud w wersji 50.00 domyślnie ustawiona jest wartość 500.

Wiele wpisów w przypadku map par klucz-wartość

157933959: jednoczesne wstawianie i aktualizowanie tej samej mapy klucz-wartość (KVM) ograniczonej do poziomu organizacji lub środowiska powoduje niespójność danych i utratę aktualizacji.

Uwaga: to ograniczenie dotyczy tylko Edge for Private Cloud. To ograniczenie nie dotyczy Edge dla Cloud Public Cloud i Hybrid.

Aby obejść ten problem w Edge for Private Cloud, utwórz maszynę wirtualną KVM w zakresie apiproxy.