Informacje o wersji Edge Microgateway

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

Wersja 3.3.x

Poprawki błędów i ulepszenia w wersji 3.3.x

3.3.3

25 kwietnia 2024 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.3. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.3.3 3.3.3 3.3.3 3.3.3 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
315939218 Usunięta

Wtyczka klienta Eureka została usunięta z Edge Microgateway. Usunięcie tej funkcji nie ma wpływu na główną funkcję Edge Microgateway ani na przepisywanie docelowych adresów URL. Więcej informacji znajdziesz w sekcji Przepisywanie docelowych adresów URL we wtyczkach.

283947053 Usunięta

Obsługa usługi forever-monitor została usunięta z Edge Microgateway. Możesz zastąpić filtr forever-monitor PM2. Więcej informacji znajdziesz w poście na karcie Społeczność Apigee: Edgemicro + PM2: uruchamianie Edgemicro jako usługi.

Rozwiązano problemy dotyczące bezpieczeństwa

  • CVE-2023-0842
  • CVE-2023-26115
  • CVE-2022-25883
  • CVE-2017-20162
  • CVE-2022-31129
  • CVE-2022-23539
  • CVE-2022-23541
  • CVE-2022-23540
  • CVE-2024-21484
  • CVE-2022-46175
  • CVE-2023-45133
  • CVE-2020-15366
  • CVE-2023-26136
  • CVE-2023-26115

3.3.2

18 sierpnia 2023 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.2. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
296187679 Funkcja

Obsługiwane wersje Node.js to: 16, 18 i 20. Od wersji 3.3.2 polecenia interfejsu wiersza poleceń Edge Microgateway będą działać tylko w obsługiwanych wersjach. Wykonanie poleceń interfejsu wiersza poleceń w nieobsługiwanych wersjach spowoduje błąd. Zobacz też oprogramowanie obsługiwane i obsługiwane przez Apigee.

283947053 Gąsienica

Naprawiliśmy problem, który powodował, że Edge Microgateway zwróciła pierwszą usługę API na liście usług API powiązanych z aplikacją. Teraz określamy właściwą usługę API do zwrócenia na podstawie żądania.

274443329 Gąsienica

Rozwiązaliśmy problem polegający na tym, że Docker pobierał nieaktualną wersję obrazu. Wersja węzła Dockera została zaktualizowana do Node.js w wersji 18. Teraz kompilowamy obraz Dockera w wersji 18.17-buster-slim.

Rozwiązano problemy dotyczące bezpieczeństwa

Brak.

3.3.1

7 czerwca 2022 r. udostępniliśmy poniższe poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.1. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
220885293 Funkcja

Obsługiwana jest już wersja 16 Node.js.

231972608 Gąsienica

Naprawiliśmy problem, który powodował, że polecenie private configure zwróciło błąd podczas próby skonfigurowania chmury prywatnej.

233315475 Gąsienica

Naprawiliśmy problem, który powodował, że plugin json2xml zwróciła błąd analizy podczas przekształcania odpowiedzi z JSON na XML lub w połączeniu z plugin accumulate-response.

221432797 Zmień

Wersja Dockera Node.js podstawowego obrazu Edge Microgateway została uaktualniona do Node.js 14.

215748732 Funkcja

Dodaliśmy obsługę uwierzytelniania tokenem SAML do polecenia revokekeys.

Za pomocą opcji -t w poleceniu revokekeys możesz teraz przekazywać token SAML zamiast danych logowania do nazwy użytkownika i hasła.

Więcej informacji znajdziesz w dokumentacji wiersza poleceń.

218723889 Aktualizacja dokumentu

Zaktualizowaliśmy dokumentację, aby zawierała link do obsługiwanych wtyczek Edge Microgateway przechowywanych na GitHubie. Zobacz Istniejące wtyczki dołączone do Edge Microgateway.

Rozwiązano problemy dotyczące bezpieczeństwa

Identyfikator problemu Opis
CVE-2021-23413 Ma to wpływ na plik jszip pakietu w wersji starszej niż 3.7.0. Utworzenie nowego pliku ZIP z nazwami ustawionymi na wartości prototypów obiektu (np. proto, toString itd.) powoduje, że zwrócony obiekt ze zmodyfikowaną instancją prototypu.

3.3.0

4 lutego 2022 r. udostępniliśmy poniższe poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.0. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
219556824 Znany problem Usługa Edge Microgateway Gateway 3.3.0 jest niezgodna z poleceniem npm Auditfix (Poprawka np.).

Uruchomienie npm audit fix powoduje, że apigeetool zostaje uaktualniony do wersji 0.15.2, co ma wpływ na polecenie edgemicro upgradeauth.

Jeśli uruchomisz npm audit fix, a następnie edgemicro upgradeauth, zobaczysz ten błąd:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

Aby rozwiązać ten problem, uruchom to polecenie w celu przywrócenia prawidłowej wersji apigeetool:

npm install apigeetool@0.15.1

Ten problem zostanie rozwiązany w przyszłej wersji Edge Microgateway.

138622990 Funkcja

Nowa flaga wtyczki Limit (isHTTPStatusTooManyRequestEnabled) konfiguruje wtyczkę w taki sposób, aby w przypadku naruszenia limitu zwracała stan odpowiedzi HTTP 429 zamiast 403. Zobacz Opcje konfiguracji limitu.

192534424 Gąsienica

Rozwiązaliśmy problem, który powodował, że kod odpowiedzi widoczny w statystykach Apigee nie był zgodny z kodem odpowiedzi Edge Microgateway.

198986036 Ulepszenie Edge Microgateway pobiera teraz klucz publiczny dostawcy tożsamości w każdym odstępie czasu odpytywania i aktualizuje klucz w przypadku zmiany klucza publicznego dostawcy tożsamości. Wcześniej wtyczka extauth nie mogła zaktualizować klucza publicznego bez ponownego ładowania Edge Microgateway, jeśli klucz publiczny dostawcy tożsamości uległ zmianie.
168713541 Gąsienica

Ulepszyliśmy dokumentację, aby wyjaśnić, jak skonfigurować protokół TLS/SSL w przypadku wielu celów. Zobacz Używanie opcji SSL/TLS klienta.

171538483 Gąsienica

Dokumentacja została zmieniona, aby poprawić konwencję nazewnictwa plików dziennika. Zapoznaj się z konwencjami nazewnictwa plików logów.

157908466 Gąsienica

Zmieniono dokumentację, aby poprawnie wyjaśnić, jak zainstalować konkretną wersję Edge Microgateway. Zobacz Uaktualnianie Edge Microgateway, jeśli masz połączenie z internetem.

215748427 Gąsienica Rozwiązaliśmy problem, który powodował, że polecenie cancelkeys zwracało błąd podczas unieważniania klucza przy użyciu istniejącej pary klucza i obiektu tajnego.
205524197 Gąsienica Dokumentacja została zaktualizowana, aby uwzględnić pełną listę poziomów logowania. Zobacz Atrybuty Edgemicro i Jak ustawić poziom rejestrowania.

Wersja 3.2.x

Poprawki błędów i ulepszenia w wersji 3.2.x

3.2.3

17 września 2021 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.3. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
192416584 Funkcja

Atrybut konfiguracji disableStrictLogFile pozwala złagodzić rygorystyczne uprawnienia do pliku w pliku logu aplikacji api-log.log. Szczegółowe informacje znajdziesz w artykule Jak złagodzić uprawnienia do pliku logu.

192799989 Funkcja

Atrybut konfiguracji on_target_response_abort pozwala kontrolować zachowanie Edge Microgateway w przypadku przedwczesnego zamknięcia połączenia między klientem (Edge Microgateway) a serwerem docelowym. Szczegółowe informacje znajdziesz w artykule o atrybutach Edgemicro.

148062415 Gąsienica Rozwiązaliśmy problem, który powodował, że w kontekście kontenera Dockera Edge Microgateway nie wyłączyła się płynnie za pomocą polecenia docker stop {containerId}. Proces został zakończony, ale pliki .sock i .pid nie zostały usunięte. Teraz pliki zostaną usunięte i ponowne uruchomienie tego samego kontenera będzie działać zgodnie z oczekiwaniami.
190715670 Gąsienica Naprawiliśmy problem, który powodował, że niektóre żądania blokowały się podczas wewnętrznego ponownego ładowania mikrobramy. Problem występował przejściowo i występował w sytuacjach dużego natężenia ruchu. Problem wystąpił podczas korzystania z funkcji tokenCache i cacheKey wtyczki OAuth.
183910111 Gąsienica Naprawiliśmy problem, który powodował, że adres URL ścieżki zasobu z końcowym ukośnikiem był nieprawidłowo interpretowany jako osobna ścieżka zasobu. Teraz na przykład ścieżki /country/all i /country/all/ są interpretowane jako ta sama ścieżka.

Rozwiązano problemy dotyczące bezpieczeństwa

Identyfikator problemu Opis
CVE-2020-28503 Zabezpieczenia kopii zapasowej pakietów sprzed wersji 2.0.5 są podatne na zanieczyszczenie prototypów ze względu na główną funkcję.
CVE-2021-23343 Wszystkie wersje analizy ścieżki pakietu są podatne na ataki typu Denial of Service (ReDoS) na podstawie wyrażeń regularnych, które mogą być stosowane przy użyciu wyrażeń regularnych podzielonych DeviceRe, podzieloneTailRe i podzielonePathRe. Zasób ReDoS charakteryzuje się złożonością wielomianową „najgorszego przypadku”.

3.2.2

W czwartek 15 lipca 2021 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.2. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
185323500 Zmień

Wartość parametru expires_in została zmieniona z ciągu znaków na liczbę całkowitą

Interfejsy API żądań tokena i żądań tokena odświeżania zwracają teraz expires_in jako liczbę całkowitą określoną w sekundach.

Aby zachować zgodność ze standardem RFC 6749 platformy autoryzacji OAuth 2.0, oczekiwana wartość parametru konfiguracji expires_in została zmieniona z ciągu znaków na liczbę całkowitą. Więcej informacji znajdziesz w dokumentacji operacji i konfiguracji.

188492065 Zmień Zakończenie obsługi Node.js 8

Od wersji 3.2.2 środowisko Node.js 8 nie będzie już obsługiwane. Więcej informacji znajdziesz w artykule na temat obsługiwanego oprogramowania i obsługiwanych wersji: Edge Microgateway.

183990345 Funkcja Konfigurowanie danych wyjściowych dzienników kontenera Dockera

Parametr konfiguracji Edge Microgateway to_console umożliwia wysyłanie informacji logu na standardowe dane wyjściowe, a nie do pliku logu. Jeśli wykonasz instrukcje uruchamiania Edge Microgateway w kontenerze Dockera, kontener domyślnie przekierowuje stdout i błędy wyjściowe do pliku znajdującego się w kontenerze w lokalizacji ${APIGEE_ROOT}/logs/edgemicro.log.

Aby zapobiec wysyłaniu informacji z dziennika do funkcji edgemicro.log, użyj nowej zmiennej LOG_CONSOLE_OUTPUT_TO_FILE podczas uruchamiania kontenera.

Szczegółowe informacje o korzystaniu z tej nowej zmiennej znajdziesz w artykule o korzystaniu z Dockera dla Edge Microgateway (w języku angielskim).

183057665 Funkcja Zapewnij możliwość konfigurowania ścieżek plików edgemicro.pid i edgemicro.sock.

Nowy parametr -w, --workdir do uruchamiania kontenera Dockera za pomocą Edge Microgateway umożliwia określenie ścieżki do katalogu, w którym w kontenerze Docker mają zostać utworzone pliki edgemicro.sock i edgemicro.pid. Zobacz Używanie Dockera dla Edge Microgateway.

191352643 Funkcja Obraz Dockera dla Edge Microgateway został zaktualizowany do wersji NodeJS 12.22. Zobacz Używanie Dockera dla Edge Microgateway.

Rozwiązano problemy dotyczące bezpieczeństwa

Identyfikator problemu Opis
CVE-2021-28860 W Node.js Mixme (starszy niż v0.5.1) atakujący może dodawać lub zmieniać właściwości obiektu za pomocą „__proto__” za pomocą funkcji mutate() iMerge(). Atrybut zanieczyszczony zostanie bezpośrednio przypisany do każdego obiektu w programie. Może to narazić dostępność programu na potencjalną atak typu DoS.
CVE-2021-30246 W pakiecie jsrsasign w wersji 10.1.13 dla Node.js niektóre nieprawidłowe podpisy RSA PKCS#1 w wersji 1.5 zostały błędnie rozpoznane jako prawidłowe. UWAGA: nie jest znany żaden praktyczny atak.
CVE-2021-23358 Podkreślenie wersji pakietu od 1.13.0-0 do 1.13.0-2, od 1.3.2 do 1.12.1 jest podatne na wstrzyknięcie dowolnego kodu przez funkcję szablonu. Jest to szczególnie ważne, gdy właściwość zmiennej jest przekazywana jako argument, ponieważ nie została odpowiednio przetworzona.
CVE-2021-29469 Node-redis to klient Redis w Node.js. Gdy klient jest w trybie monitorowania w wersji starszej niż 3.1.1, wyrażenie regularne zaczyna używane do wykrywania komunikatów monitorowania może powodować wykładnicze śledzenie wsteczne w niektórych ciągach. Ten problem może prowadzić do odmowy usługi. Poprawka błędu została poprawiona w wersji 3.1.1.
CVE-2020-8174 Obraz Dockera został zaktualizowany do używania środowiska Node.js w wersji 12.22

3.2.1

W piątek 5 marca 2021 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.1. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
180362102 Gąsienica Rozwiązaliśmy problem, który powodował, że klucze JWK o wartości null powodowały awarię aplikacji.

Warunek null jest teraz obsługiwany, aby uniknąć przekazywania wartości null w funkcji jwkPublicKeys.

Uwaga: ta poprawka wymaga uaktualnienia serwera proxy edgemicro-auth.

179971737 Gąsienica Rozwiązaliśmy problem, który powodował, że docelowe odpowiedzi stanu 4XX / 5XX były rejestrowane jako błędy serwera proxy edgemicro_*.

W przypadku transakcji Edge Microgateway w panelu analizy kodów błędów Apigee Edge wyświetlana była nieprawidłowa liczba błędów celu. Kody błędów dotyczące błędów celu były zliczane jako błędy serwera proxy. Problem został rozwiązany i wyświetlana jest prawidłowa liczba błędów docelowych.

179674670 Funkcja Dodano nową funkcję, która umożliwia filtrowanie listy usług API umieszczonych w tokenie JWT na podstawie kodów stanu produktów.

Produkty interfejsu API mają 3 kody stanu: Oczekujący, Zatwierdzone i Unieważniony. Do zasady Ustaw zmienne JWT na serwerze proxy edgemicro-auth została dodana nowa właściwość o nazwie allowProductStatus. Aby użyć tej właściwości do filtrowania usług API wymienionych w tokenie JWT:

  1. Otwórz serwer proxy edgemicro-auth w edytorze serwera proxy Apigee.
  2. Dodaj właściwość allowProductStatus do pliku XML zasady SetJWTZmiennas i podaj rozdzieloną przecinkami listę kodów stanu, według których chcesz filtrować. Aby na przykład zastosować filtr Oczekujący i Unieważniony:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

    Jeśli chcesz, by na liście były tylko produkty Zatwierdzone, ustaw właściwość w ten sposób:

    <Property name="allowProductStatus">Approved</Property>
  3. Zapisz serwer proxy.

    Jeśli nie ma tagu Property, w tokenie JWT pojawią się produkty ze wszystkimi kodami stanu.

    Aby korzystać z tej nowej usługi, musisz uaktualnić serwer proxy edgemicro-auth.

178423436 Gąsienica Klucze i wartości obiektu tajnego przekazywane w interfejsie wiersza poleceń lub za pomocą zmiennych środowiskowych są widoczne w argumentach wiersza poleceń eksploratora procesów.

Zgłoszono problem polegający na tym, że wartości klucza i obiektu tajnego dla Edge Microgateway, które były przekazywane z argumentów wiersza poleceń lub ustawione za pomocą zmiennych środowiskowych, były wyświetlane w argumentach instancji roboczej węzła/procesów podrzędnych po uruchomieniu mikrobramy.

Aby rozwiązać ten problem w przypadku zmiennej środowiskowej, wartości nie są już widoczne w argumentach wiersza poleceń eksploratora procesów.

Jeśli wartości klucza i obiektu tajnego są przekazywane w wierszu poleceń podczas uruchamiania mikrobramy, ustawienia zastępują wszelkie wartości zmiennych środowiskowych (jeśli są ustawione). W tym przypadku wartości są nadal widoczne w argumentach wiersza poleceń eksploratora procesów.

178341593 Gąsienica Naprawiono błąd dokumentacji wtyczki apikeys.

Plik README dla wtyczki apikeys zawierał nieprawidłową właściwość gracePeriod. Usunęliśmy tę właściwość i jej opis z pliku README.

Właściwość gracePeriod jest zaimplementowana we wtyczce oauth. Aby korzystać z funkcji okresu prolongaty, musisz użyć wtyczki oauth.

179366445 Gąsienica Rozwiązano problem, który powodował, że ładunek był usuwany w przypadku wszystkich żądań GET do celów.

Możesz kontrolować pożądane działanie za pomocą nowego parametru konfiguracji: edgemicro: enable_GET_req_body. Gdy jest ustawiona na true, nagłówek żądania transfer-encoding: chunked jest dodawany do wszystkich żądań GET, a ładunek GET (jeśli jest dostępny) jest wysyłany do elementu docelowego. Jeśli false (ustawienie domyślne), ładunek jest dyskretnie usuwany, zanim żądanie zostanie wysłane do środowiska docelowego.

Na przykład:

edgemicro:
 enable_GET_req_body: true

Zgodnie z sekcją 4.3.1 RFC 7231: GET ładunek żądania GET nie ma zdefiniowanej semantyki, więc może zostać wysłany do celu.

3.2.0

W czwartek 21 stycznia 2021 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.0. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
152640618 Gąsienica Włączono wtyczkę extauth, aby ustawić nagłówek x-api-key tak, aby zawierał client_id w obiekcie żądania, gdy token jest prawidłowy. x-api-key jest wtedy dostępny dla kolejnych wtyczek.
168836123, 172295489, 176462355, 176462872 Funkcja Dodano obsługę środowiska Node.js 14.
172376835 Gąsienica Użyj prawidłowej jednostki czasu dla punktu końcowego /token w serwerze proxy edgemicro-auth.

Rozwiązaliśmy problem, który powodował, że punkt końcowy /token w serwerze proxy edgemicro-auth zwracał wartość expires_in w milisekundach. Jednak zgodnie ze specyfikacją protokołu OAuth powinien on być zgodny z jednostką czasu refresh_token_expires_in, czyli sekundą.

Poprawka nie zmienia czasu ważności, a jedynie jednostkę czasu. Ma zastosowanie tylko do pola expires_in w ładunku odpowiedzi tokena dostępu. Token JWT w tym samym ładunku odpowiedzi zawiera 2 pola (iat i exp). Są one generowane prawidłowo i zawsze miały ustawioną jednostkę czasu seconds.

Jeśli klienci polegali na wartości expires_in w milisekundach, aby odświeżyć tokeny przed wygaśnięciem tokenów, zastosowanie tej poprawki bez modyfikowania klientów spowodowałoby znacznie częstsze i niepotrzebne odświeżanie. Aby zachować pierwotne zachowanie, należy zmodyfikować te klienty, aby uwzględnić zmianę jednostki czasu.

Jeśli klienci zawsze używali wartości tokena JWT do oceny okresu odświeżania tokena, nie powinni wprowadzać zmian.

173064680 Gąsienica Rozwiązaliśmy problem, który powodował, że mikrobrama kończyła żądanie docelowe przed przetworzeniem wszystkich fragmentów danych.

Jest to chwilowy problem zaobserwowany w przypadku żądań o dużym rozmiarze ładunku, który pojawił się w wersji 3.1.7.

174640712 Gąsienica Dodaj do wtyczek prawidłową obsługę danych.

Dodaliśmy prawidłową obsługę danych w tych wtyczkach: json2xml, accumulate-request, accumulate-response i header-uppercase. Szczegółowe informacje o wtyczce znajdziesz na stronie microgateway-Plugins.

Wersja 3.1.x

Poprawki błędów i ulepszenia w wersji 3.1.x

3.1.8

W poniedziałek 16 listopada 2020 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.8. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
169201295 Gąsienica Wartości liczbowe i logiczne zostały nieprawidłowo przeanalizowane w tagach zmiennych środowiskowych.

Obsługa zastępowania zmiennych środowiskowych przeanalizowała wszystkie wartości jako ciągi, co spowodowało analizę błędów w przypadku wartości logicznych lub liczbowych. Na przykład edgemicro.port wymaga podania wartości liczbowej. Wprowadzono poprawki w celu obsługi wartości logicznych i liczbowych. Szczegóły konfiguracji znajdziesz w artykule Ustawianie atrybutów konfiguracji za pomocą wartości zmiennych środowiskowych.

169202749 Gąsienica W niektórych przypadkach zastępowanie zmiennej środowiskowej nie działało.

W przypadku niektórych atrybutów konfiguracji nie działała obsługa zastępowania zmiennych środowiskowych. Informacje o ograniczeniach znajdziesz w artykule Ustawianie atrybutów konfiguracji za pomocą wartości zmiennych środowiskowych.

168732942 Gąsienica Rozwiązaliśmy problem, który powodował, że zakresy OAuth nie ograniczały dostępu do serwera proxy interfejsu API zgodnie z oczekiwaniami.

Przepływ /token tokenów JWT wygenerowanych przez serwer proxy /token edgemicro-authbez prawidłowych zakresów usługi na Edge wynikający z 2 różnych scenariuszy: 1) ładunek żądania do przepływu /token nieprawidłowego zakresu – lub 2) przepływ żądania do ładunku nie został przekroczony w przepływie 2) Wprowadzono poprawkę zwracającą wszystkie zakresy zdefiniowane w usługach interfejsów API w Apigee Edge.

170609716 Gąsienica Rozwiązaliśmy problem, który powodował, że przepływ /refresh na serwerze proxy edgemicro-auth wygenerował token JWT bez apiProductList.

170708611 Gąsienica Zakresy usług interfejsu API nie są dostępne w przypadku niestandardowych wtyczek.

Zakresy usług interfejsu API nie zostały udostępnione niestandardowych wtyczkom ani zapisane w pliku konfiguracji pamięci podręcznej. Informacje o sposobie udostępniania wtyczkom dostępu do szczegółów zakresu znajdziesz w sekcji Informacje o funkcji init() wtyczki.

169810710 Funkcja Klucz i obiekt tajny zapisane w pliku konfiguracji pamięci podręcznej.

Klucz i obiekt tajny Edge Microgateway były zapisywane w pliku yaml konfiguracji pamięci podręcznej przy każdym odświeżeniu/uruchomieniu. W wersji 3.1.8 klucz i obiekt tajny nie są już zapisane w pliku konfiguracji pamięci podręcznej. Jeśli klucz i obiekt tajny były wcześniej zapisane w pliku konfiguracyjnym pamięci podręcznej, zostaną usunięte.

170708621 Funkcja Nie można wyłączyć wtyczki Analytics.

W poprzednich wersjach mikrobramy wtyczka do analityki była domyślnie włączona i nie można jej wyłączyć. W wersji 3.1.8 wprowadziliśmy nowy parametr konfiguracji enableAnalytics, który umożliwia włączanie i wyłączanie wtyczki Analytics. Szczegóły znajdziesz w dokumentacji konfiguracji.

159571119 Gąsienica W niestandardowych wtyczkach pojawia się błąd null w zaczepieniu onerror_request w przypadku przekroczenia limitu czasu odpowiedzi/socketu.

Naprawiliśmy błędy, aby podać prawidłowy kod stanu HTTP i komunikat o błędzie w przypadku zdarzeń onerror_request oraz prawidłowy komunikat o błędzie w przypadku zdarzeń onerror_response.

3.1.7

W czwartek 24 września 2020 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.7. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
131708105 Gąsienica Wtyczka analytics błędnie poradziła sobie z odpowiedzią o wartości null z wywołań axpublisher i spowodowała zamknięcie instancji roboczych.

133162200 Gąsienica Informacje o aplikacji dewelopera nie zostały uwzględnione w statystykach przez odpowiedzi o stanie 403 ze względu na nieautoryzowane ścieżki zasobów usługi lub odpowiedzi 401 z powodu nieważnego lub nieprawidłowego tokena.

132194290 Gąsienica Rekordy Analytics są odrzucane, gdy Apigee Edge odrzuci niektóre rekordy analityczne.

158618994 Gąsienica Nadmierna liczba połączeń z klientem Redis.

161404373 Gąsienica W przypadku otrzymania odpowiedzi o stanie 404 w tej wiadomości podano pełny identyfikator URI serwera proxy.
166356972 Gąsienica

Uruchomienie Edge Microgateway z użyciem środowiska Node.js w wersji 12.13.x lub nowszej spowodowało błąd podczas wykonywania wtyczek, które przekształcają ładunek żądania:

{"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}

168681746 Gąsienica Ręczne ponowne wczytywanie Edge Microgateway za pomocą redisBasedConfigCache:true nie działało.

149256174 Gąsienica Błędy wtyczki OAuth nie były rejestrowane w przypadku awarii sieci.

166517190 Gąsienica Dane jwk_public_keys nie zostały zapisane i pobrane przez narzędzie Synchronizer oraz przechowywane w Redis.

141659881 Gąsienica Błąd podczas obsługi nieprawidłowego certyfikatu docelowego dawała odpowiedzi wprowadzające w błąd.

142808699 Gąsienica Wtyczka kontroli dostępu nie obsługiwała prawidłowo sekcji „allow” i „deny”.

Mikrobrama przetwarza teraz sekcję odmowy prawidłowo i respektuje kolejność sekcji „zezwalaj” i „odmów”. Do pliku konfiguracyjnego mikrobramy dodaliśmy nową właściwość noRuleMatchAction, aby zapewnić spójność z zasadą kontroli dostępu Apigee Edge. Zobacz też plik README wtyczki kontroli dostępu na GitHubie.

3.1.6

W czwartek 20 sierpnia 2020 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.6. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
163711992 Funkcja Opcje lokalizacji pliku klucza niestandardowego i certyfikatu na potrzeby polecenia rotacjikey.

Szczegółowe informacje o nowych opcjach poleceń znajdziesz w sekcji Rotacja kluczy.

154838259 Gąsienica Rozwiązywanie problemów z rotacją kluczy w przypadku instancji wielu instancji w wielu centrach danych

Szczegółowe informacje o nowych opcjach poleceń znajdziesz w sekcji Rotacja kluczy.

145525133 Funkcja w wersji alfa Nowe dane dotyczące wtyczek

Szczegółowe informacje znajdziesz w pliku README nowych wskaźników wtyczek na GitHubie.

159396879 Gąsienica Usuwanie nieużywanego Asystenta pakietów
161092943 Gąsienica Weryfikacja ścieżki podstawowej była nieprawidłowa

Przed wersją 3.1.6 ścieżka bazowa serwera proxy była nieprawidłowo dopasowywana, gdy ścieżka bazowa nie kończyła się znakiem /.

Poniżej objaśniamy szczegółowo poprzednie działanie (poprawione w wersji 3.1.6):

Załóżmy, że serwer proxy jest skonfigurowany ze ścieżką bazową: /hello/v1 i ścieżką docelową https://mocktarget.apigee.net. Teraz załóżmy, że serwer proxy otrzymuje te żądania:

Ścieżka żądania Znaleziona ścieżka Wynik
/hello/v1/json https://mocktarget.apigee.net/json Znaleziona ścieżka jest prawidłowa, ponieważ ścieżka bazowa obiektu /hello/v1 jest prawidłowo dopasowana.
Ścieżka żądania Znaleziona ścieżka Wynik
/hello/v1json https://mocktarget.apigee.netjson Znaleziona ścieżka jest nieprawidłowa, ponieważ /hello/v1 jest podłańcuchem wartości /hello/v1json. /hello/v1json nie jest prawidłową ścieżką, dlatego Edge Microgateway powinien zwrócić błąd 404. W wersji 3.1.6 i nowszych zgłaszany jest błąd 404.
160431789 Gąsienica Niestandardowe wtyczki – obiekt config przekazany do init nie jest wypełniany

Konfiguracja Apigee Edge jest udostępniana w obiekcie konfiguracji dla wszystkich niestandardowych wtyczek po scaleniu z plikiem konfiguracji Edge Microgateway. Zobacz config.

162758808 Gąsienica Nowa konfiguracja limitu dla magazynu kopii zapasowych Redis

Możesz użyć poniższej konfiguracji, aby określić magazyn kopii zapasowej Redis na potrzeby limitów. Aby dowiedzieć się więcej, zobacz Korzystanie z magazynu kopii zapasowych Redis w zakresie limitu.

3.1.5

W piątek 26 czerwca 2020 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.5. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
159210507 Funkcja Konfiguracja pomijająca przetwarzanie wtyczki

Dodano nową funkcję konfiguracji, która pomija przetwarzanie wtyczek w przypadku określonych adresów URL. Więcej informacji znajdziesz w sekcji Konfigurowanie wykluczonych adresów URL wtyczek.

156986819, 158529319 Gąsienica Rozwiązano problemy z wtyczką json2xml

Rozwiązaliśmy problemy, ponieważ wtyczka generowała zduplikowane nagłówki Content-Type i w niektórych przypadkach nie przesyłała ich do miejsca docelowego zgodnie z oczekiwaniami.

156560067, 159688634 Funkcja

Używanie wartości zmiennych środowiskowych w konfiguracji

Dodaliśmy funkcję, która umożliwia określenie zmiennych środowiskowych za pomocą tagów w pliku konfiguracji. Podane tagi zmiennych środowiskowych są zastępowane rzeczywistymi wartościami zmiennych środowiskowych. Zamienniki są przechowywane tylko w pamięci i nie są przechowywane w oryginalnej konfiguracji ani plikach pamięci podręcznej. Więcej informacji znajdziesz w sekcji Ustawianie atrybutów konfiguracji z wartościami zmiennych środowiskowych.

155077210 Gąsienica Rozwiązano problem z formatowaniem dzienników.

Rozwiązaliśmy problem, który powodował, że host docelowy pojawiał się w logach z dodanymi nadmiarowymi dwukropkami.

153673257 Gąsienica

(Tylko Edge for Private Cloud) Usługi rozpoznające mikrobramę nie zostały pobrane

Rozwiązaliśmy problem polegający na tym, że nie były pobierane produkty zależne od mikrobramy. Ten problem występował tylko w Edge w przypadku instalacji Private Cloud.

154956890, 155008028, 155829434 Funkcja Obsługa filtrowania pobranych produktów według atrybutów niestandardowych

Więcej informacji znajdziesz w artykule Filtrowanie produktów według atrybutów niestandardowych.

153949764 Gąsienica Rozwiązaliśmy problem, który powodował awarię procesu Edge Microgateway, gdy docelowy plik logu był pełny

Ulepszyliśmy obsługę wyjątków, aby sygnalizować błąd i drukować komunikat w konsoli.

155499600 Gąsienica Rozwiązaliśmy problemy z rotacją kluczy i uaktualnianiem KVM

Zobacz też Rotacja kluczy JWT.

3.1.4

W piątek 23 kwietnia 2020 r. opublikowaliśmy podaną niżej poprawkę do Edge Microgateway.

Poprawka błędu:

Problem z zależnością w wersji 3.1.3 został rozwiązany. Wersja 3.1.3 została oznaczona jako wycofana w repozytorium npm. Poza tym wszystkie poprawki błędów i ulepszenia opisane w informacjach o wersji 3.1.3 mają zastosowanie do tej wersji.

3.1.3

W środę 15 kwietnia 2020 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.3. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Poprawki błędów i ulepszenia:

  • 153509313 – Rozwiązaliśmy problem, który powodował, że moduł debugowania Node.js spowodował wycieki pamięci. Ten problem występuje w wersjach 3.1.0, 3.1.1 i 3.1.2.
  • 153509313 – Rozwiązaliśmy problem, który polegał na tym, że w danych wyjściowych logowania wyświetlany był ten sam identyfikator wiadomości dla 2 różnych transakcji.
  • 151673570 – Naprawiono problem polegający na tym, że serwer Edge Microgateway nie został zaktualizowany pod kątem korzystania z nowych interfejsów API Apigee KVM. Edge Microgateway korzysta teraz z nowych poleceń do dodawania i aktualizowania wartości KVM.
  • 152822846 – w poprzednich wersjach usługa Edge Microgateway została zaktualizowana, tak aby przetwarzanie mapowania ścieżek zasobów odpowiadało temu, w którym odbywa się Apigee Edge. W tej wersji rozwiązaliśmy problem, który powodował, że wzorzec /literal_string/* nie był prawidłowo obsługiwany. Przykład: /*/2/*. Zobacz też Konfigurowanie działania ścieżki zasobu „/”, „/*” i „/**”.
  • 152005003 – wprowadzono zmiany, aby włączyć w limitach identyfikatory ograniczone do organizacji i środowiska.
  • 152005003 – wprowadzono zmiany, aby włączyć w limitach identyfikatory ograniczone do organizacji i środowiska. Jako identyfikator limitu używana jest kombinacja „org + env + appName + productName”.

3.1.2

W poniedziałek 16 marca 2020 r. opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.3. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Poprawki błędów i ulepszenia:

  • 151285018 – Wprowadzono ulepszenie funkcji, aby dodać obsługę serwera proxy HTTP dla ruchu między Edge Microgateway a celami backendu. Ponadto naprawiliśmy problemy z obsługą istniejących serwerów proxy HTTP między Edge Microgateway i Apigee Edge. Więcej informacji:
  • 149101890 – kod powiadomienia logu w przypadkach, gdy serwer docelowy lub system równoważenia obciążenia zamknie swoje połączenie, został zmieniony z ERROR na INFO.
  • 150746985 – Naprawiliśmy problem polegający na tym, że polecenie edgemicro verify nie działało prawidłowo, jeśli w pliku konfiguracji znajdował się redisBasedConfigCache: true lub quotaUri: https://%s-%s.apigee.net/edgemicro-auth.
  • 151284716 – wprowadziliśmy ulepszenie, które umożliwia szybsze zamykanie połączeń z serwerem w przypadku ponownego uruchamiania instancji roboczych podczas ponownego załadowania.
  • 151588764 – Zaktualizuj do wersji 12 wersję Node.js w obrazie Dockera, który służy do uruchamiania Edge Microgateway w kontenerze Dockera do wersji 12, ponieważ środowisko Node.js v8 zostało wycofane.
  • 151306049 – Zaktualizowaliśmy dokumentację zawierającą listę interfejsów API do zarządzania Edge w Apigee, które są używane przez polecenia interfejsu wiersza poleceń Edge Microgateway. Zobacz Jakich interfejsów API do zarządzania używa Edge Microgateway?.

3.1.1

W czwartek 20 lutego opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.1. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Poprawki błędów i ulepszenia:

  • 146069701 – Naprawiono problem, który powodował, że moduł microgateway-core nie przestrzegał zmiennych środowiskowych HTTP_PROXY i HTTPS_PROXY. W związku z tą zmianą ustawienia serwera proxy w pliku konfiguracji YAML są ignorowane. Do określenia serwera proxy używane są tylko zmienne środowiskowe.

    Jeśli chcesz określić konfigurację serwera proxy w pliku konfiguracji, musisz też określić zmienną HTTP_PROXY, która wymienia ten sam adres URL serwera proxy co ten określony w pliku konfiguracji. Jeśli na przykład podasz taką konfigurację:

    edge_config:
      proxy: http://10.128.0.20:3128
      proxy_tunnel: true
    

    Musisz też podać tę zmienną środowiskową:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620 – Dodano nowy parametr konfiguracji edgemicro.headers_timeout. Ten atrybut ogranicza czas (w milisekundach), przez jaki parser HTTP będzie czekać na otrzymanie pełnych nagłówków HTTP. Przykład:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    Wewnętrznie parametr ten ustawia w żądaniach atrybut Node.js Server.headersTimeout. (Domyślnie: o 5 sekund dłużej niż czas ustawiony w edgemicro.keep_alive_timeout). To ustawienie domyślne zapobiega omyłkowemu odrzucaniu połączenia przez systemy równoważenia obciążenia i serwery proxy.

  • 149278885 – Dodaliśmy nową funkcję, która pozwala ustawić docelowy limit czasu interfejsu API na poziomie serwera proxy interfejsu API, zamiast używać jednego globalnego ustawienia limitu czasu.

    Jeśli ustawisz właściwość TargetEndpoint io.timeout.millis na serwerze proxy interfejsu API, Edge Microgateway będzie mogła pobrać tę właściwość i zastosować limity czasu specyficzne dla docelowego punktu końcowego. Jeśli ten parametr nie zostanie zastosowany, Edge Microgateway używa globalnego limitu czasu określonego w edgemicro.request_timeout.

3.1.0

We wtorek 21 stycznia opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.0. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Poprawki błędów i ulepszenia:

  • 144187500 – po uruchomieniu flagi quotas.failOpen zostanie zarejestrowane nowe zdarzenie na poziomie WARN. Ta flaga jest aktywowana, gdy wystąpi błąd przetwarzania limitów lub jeśli żądanie „zastosuj limit” do Edge nie zaktualizuje liczników zdalnych limitów. W tym przypadku limit będzie przetwarzany tylko na podstawie liczby lokalnej do czasu następnej udanej zdalnej synchronizacji limitu. Wcześniej to zdarzenie było rejestrowane tylko wtedy, gdy poziom logu był ustawiony na DEBUG (DEBUGOWANIE).

    Na przykład:

    2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][]
    [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not
    available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60]
    [GET][][][][]
  • 145023519 – Rozwiązano problem, który powodował, że serwer Edge Microgateway wykrył zmianę serwera proxy interfejsu API w trakcie lotu lub na nowe transakcje. Teraz po zmianie serwera proxy Edge Microgateway odświeży pamięć podręczną i ponownie uruchomi węzły robocze. Ta zmiana nie ma wpływu na transakcje w trakcie transmisji i nowe wywołania interfejsu API wysyłane do mikrobramy.
  • 146378327 – poziom logowania sourceRequest, targetRequest i targetResponse został zmieniony na poziom INFO.
  • 146019878 – została naprawiona rozbieżność między czasem oczekiwania obliczonym dla wydajności serwera proxy interfejsu API w analityce Edge i zdarzeń w dzienniku Edge Microgateway sourceResponse/targetResponse. Teraz opóźnienia w analityce Edge i zdarzeń z dziennika Microgateway są wyrównane.
  • Zmiany związane z logiką dopasowywania do wzorca:
    • 147027862 – Wtyczka OAuth została zaktualizowana tak, aby obsługiwała następujące wzorce dopasowania ścieżek zasobów określone w usługach API:
      • /{literal}**
      • /{literal}*
      • Dowolna kombinacja powyższych 2 wzorców

      W związku z tą zmianą wtyczka Edge Microgateway korzysta teraz z tego samego dopasowania wzorców co w przypadku Apigee Edge zgodnie z opisem w sekcji Konfigurowanie zachowania ścieżki zasobu „/”, „/*” i „/**”.

    • 145644205 – Zaktualizuj logikę dopasowywania wzorców we wtyczce apiKeys, aby pasowała do wtyczki OAuth.
  • 143488312 – Naprawiliśmy problem polegający na tym, że na początku lub na końcu parametru identyfikatora klienta utworzenie listy produktów JWT była pusta w przypadku żądań tokena OAuth i klucza interfejsu API.
  • 145640807 i 147579179 – została dodana nowa funkcja, która umożliwia specjalnej instancji Edge Microgateway o nazwie „synchronizator” na pobieranie danych konfiguracji z Apigee Edge i zapisywanie ich w lokalnej bazie danych Redis. Następnie można skonfigurować inne instancje mikrobramy pod kątem odczytu danych konfiguracyjnych z bazy danych. Ta funkcja zwiększa odporność Edge Microgateway. Umożliwia uruchamianie i działanie instancji mikrobram bez konieczności komunikacji z Apigee Edge. Więcej informacji znajdziesz w sekcji Korzystanie z synchronizatora.

    Funkcja synchronizacji jest obecnie obsługiwana do pracy z Redis 5.0.x.

Wersja 3.0.x

Poprawki błędów i ulepszenia w wersji 3.0.x

3.0.10

W piątek 8 listopada opublikowaliśmy następujące poprawki i ulepszenia dotyczące Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.10. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Poprawki błędów i ulepszenia:

  • 142677575 – zaktualizowano funkcje, dzięki czemu dopasowanie wzorców ścieżek zasobów używanych w usługach API Edge Microgateway jest teraz zgodne z dopasowaniem wzorców ścieżek zasobów używanym przez Apigee Edge zgodnie z opisem w sekcji Konfigurowanie działania ścieżki zasobu „/”, „/*” i „/**”.

    Uwaga: jeśli używasz złożonego wzorca zasobów, takiego jak /*/2/**, musisz się upewnić, że serwer proxy edgemicro_auth został dodany do samodzielnej usługi API. Następnie musisz dodać tę usługę do aplikacji programisty na serwerze proxy, jak pokazano na tym zrzucie ekranu:

    alt_text

    Uwaga: właściwość konfiguracji features.isSingleForwardSlashBlockingEnabled, jak opisana w sekcji Konfigurowanie zachowania ścieżki zasobu „/”, „/*” i „/**”, nie jest obsługiwana w przypadku Edge Microgateway.

  • 143740696 – zmieniła się struktura konfiguracji quotas (zobacz też informacje o wersji 3.0.9). Właściwość quotas służy do konfigurowania wtyczki limitów. Zmieniliśmy strukturę, aby zwiększyć przejrzystość elementów konfiguracji. Aby skonfigurować wtyczkę limitu, użyj konfiguracji YAML podanej poniżej. Pamiętaj, że właściwość konfiguracji nosi nazwę quotas. Szczegółowe informacje o poszczególnych właściwościach konfiguracji quotas znajdziesz w sekcji Opcje konfiguracji limitów.

    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - quota
    quotas:
      bufferSize:
        hour: 20000
        minute: 500
        default: 10000
      useDebugMpId: true
      failOpen: true
    ...
  • 141750056 – Dodano nową funkcję, która umożliwia używanie Redis jako magazynu kopii zapasowej limitu. Jeśli useRedis ma wartość prawda, używany moduł volos-quota-redis. Jeśli ma wartość prawda, limit jest ograniczony tylko do tych instancji Edge Microgateway, które łączą się z Redis. Jeśli wartość to fałsz, moduł volos-quota-apigee jest używany jako magazyn kopii zapasowej, a licznik limitu jest globalny. Więcej informacji znajdziesz w artykule o opcjach konfiguracji limitów. Przykład:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210 – domyślny czas ważności tokenów wygenerowanych przez serwer proxy edgemicro-auth został zmieniony z 10 8000 milisekund (1,8 minuty) na 1800 sekund (30 minut).
  • 143551282 – Aby obsługiwać organizacje obsługujące SAML, polecenie edgemicro genkeys zostało zaktualizowane i zawiera parametr ‑‑token. Ten parametr umożliwia uwierzytelnianie z użyciem tokena OAuth zamiast nazwy użytkownika i hasła. Więcej informacji znajdziesz w artykule o generowaniu kluczy.

3.0.9

W piątek 11 października opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.9. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Poprawki błędów i ulepszenia:

  • 141989374 - Do wtyczki limitów dodaliśmy nową funkcję „fail open” (otwieranie nie powiodło się). Gdy ta funkcja jest włączona, jeśli wystąpi błąd przetwarzania limitu lub żądanie „zastosowania limitu” do Edge nie zaktualizuje zdalnych liczników limitów, limit będzie przetwarzany na podstawie liczników lokalnych tylko do następnej udanej synchronizacji limitu zdalnego. W obu tych przypadkach w obiekcie żądania ustawiona jest flaga quota-failed-open.

    Aby włączyć funkcję nieudanego otwarcia limitu, ustaw tę konfigurację:

    quotas :
     failOpen : true

    Uwaga: Oprócz tego nazwa flagi obiektu żądania fail-open wtyczki OAuth została zmieniona na oauth-failed-open.

  • 142093764 – Wprowadzono zmianę konfiguracji serwera proxy edgemicro-auth, aby zapobiec przekroczeniu limitu. Zmiana polega na ustawieniu typu limitu na kalendarz. Aby skorzystać z tego ulepszenia, musisz zaktualizować edgemicro-auth do wersji 3.0.7 lub nowszej.
  • 142520568 – Dodaliśmy nową funkcję, która umożliwia logowanie identyfikatora MP (procesora wiadomości) w odpowiedziach dotyczących limitu. Aby korzystać z tej funkcji, musisz zaktualizować serwer proxy edgemicro-auth do wersji 3.0.7 lub nowszej i ustawić tę konfigurację:
    quotas:
      useDebugMpId: true

    Gdy ustawiony jest useDebugMpId, odpowiedzi dotyczące limitu z Edge będą zawierać identyfikator MP i będą rejestrowane przez Edge Microgateway. Na przykład:

    {
        "allowed": 20,
        "used": 3,
        "exceeded": 0,
        "available": 17,
        "expiryTime": 1570748640000,
        "timestamp": 1570748580323,
        "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
    }

3.0.8

W czwartek 26 września opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.8. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Poprawki błędów i ulepszenia:

  • 140025210 – Dodano nową funkcję „fail open”. Ta funkcja umożliwia kontynuowanie przetwarzania interfejsu API, jeśli nie można odświeżyć wygasłego tokena JWT z powodu błędu połączenia, który uniemożliwia pomyślne wywołanie weryfikacji klucza interfejsu API do serwera proxy edgemicro-auth.

    Ta funkcja pozwala ustawić okres prolongaty, w którym stary token pozostanie w pamięci podręcznej i będzie ponownie używany do zakończenia okresu prolongaty. Ta funkcja pozwala Edge Microgateway kontynuować przetwarzanie żądań w przypadku tymczasowej awarii połączenia. Gdy połączenie zostanie wznowione i uda się wywołać funkcję weryfikacji klucza interfejsu API, nowy token JWT zostanie pobrany i zastąpi stary token JWT w pamięci podręcznej.

    Aby skonfigurować nową funkcję „fail open” (niepowodzenie), wykonaj te czynności:

    1. Ustaw te właściwości w stanie oauth w pliku konfiguracji Edge Microgateway:
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      Na przykład:

      oauth:
        failOpen: true
        failopenGraceInterval: 5
        cacheKey: true
        ...

      W tym przykładzie stary token będzie używany przez 5 sekund, jeśli nie będzie można go odświeżyć z powodu problemu z połączeniem. Po 5 sekundach zostanie zwrócony błąd uwierzytelniania.

  • 141168968 – Zaktualizowano: correlation_id we wszystkich danych wyjściowych logu wtyczki Ponadto w razie potrzeby poziomy logu niektórych logów zostały zmienione na error.
  • 140193349 – Dokonano aktualizacji serwera proxy edgemicro-auth, aby wymagać weryfikacji klucza i tajnego klucza Edge Microgateway przy każdym żądaniu weryfikacji klucza interfejsu API. Zaktualizowaliśmy Edge Microgateway, aby zawsze wysyłać klucz i tajny klucz w przypadku każdego żądania weryfikacyjnego klucza interfejsu API. Ta zmiana uniemożliwi klientom uzyskanie tokena JWT za pomocą samego klucza interfejsu API.
  • 140090250 – Dokonano aktualizacji dodawania rejestrowania diagnostycznego na potrzeby przetwarzania limitu. Dzięki tej zmianie można teraz skorelować dane wyjściowe logów wykorzystania z pozostałymi logami Edge Microgateway.

3.0.7

W czwartek 12 września opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Wersje komponentu:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.7. Każdy komponent jest osobnym projektem, więc numery wersji mogą się różnić od głównej wersji usługi:

microgateway rdzeń config wtyczki edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

Poprawki błędów i ulepszenia:

  • 140075602 – Dokonano aktualizacji wtyczki OAuth, aby w razie potrzeby zwracać kod stanu 5xx. Wcześniej w pozostałych przypadkach wtyczka zwracała tylko kody stanu 4xx. Teraz dla każdej odpowiedzi, która ma stan inny niż 200, zostanie zwrócony dokładny kod 4xx lub 5xx (w zależności od błędu).

    Ta funkcja jest domyślnie wyłączona. Aby włączyć tę funkcję, dodaj właściwość oauth.useUpstreamResponse: true do konfiguracji Edge Microgateway. Na przykład:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623 – W wersji 3.0.6 dodano nową właściwość konfiguracji: quota.quotaUri. Ustaw tę właściwość konfiguracji, jeśli chcesz zarządzać limitami przez serwer proxy edgemicro-auth wdrożony w Twojej organizacji. Jeśli ta właściwość nie jest ustawiona, punkt końcowy limitu domyślnie ustawia wewnętrzny punkt końcowy Edge Microgateway. Przykład:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    W wersji 3.0.7 zaktualizowano edgemicro-auth, aby akceptować tę nową konfigurację. Aby używać właściwości quotaUri, musisz uaktualnić serwer proxy edgemicro-auth do najnowszej wersji. Więcej informacji znajdziesz w sekcji na temat uaktualniania serwera proxy Edgemicro-auth.

  • 140470888 – Do wywołań limitów dodano nagłówek autoryzacji w celu uwierzytelnienia. Serwer proxy edgemicro-auth został też zmodyfikowany, aby usunąć słowo „organizacja” z identyfikatora limitu. Punkt końcowy limitu znajduje się w organizacji klienta, więc identyfikator limitu nie jest już potrzebny.
  • 140823165 – ta nazwa właściwości:
    edgemicro:
        keepAliveTimeout

    został nieprawidłowo udokumentowany w wersji 3.0.6. Prawidłowa nazwa właściwości to:

    edgemicro:
        keep_alive_timeout
  • 139526406 – Naprawiliśmy błąd związany z nieprawidłową liczbą limitów, jeśli aplikacja dewelopera korzystała z wielu usług. Limit jest teraz prawidłowo egzekwowany dla każdej usługi w aplikacji, która zawiera wiele usług. Kombinacja „appName + productName” jest używana jako identyfikator limitu.

3.0.6

W czwartek 29 sierpnia opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

  • 138633700 – Dodano nową właściwość konfiguracji keepAliveTimeout. Ta właściwość umożliwia ustawienie czasu oczekiwania na Edge Microgateway (w milisekundach). (Domyślnie: 5000 milisekund).

    Na przykład:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 – Dodano nową właściwość konfiguracji quotaUri. Ustaw tę właściwość konfiguracji, jeśli chcesz zarządzać limitami przez serwer proxy edgemicro-auth wdrożony w Twojej organizacji. Jeśli ta właściwość nie jest ustawiona, domyślnie punkt końcowy limitu to wewnętrzny punkt końcowy Edge Microgateway. Przykład:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Aby korzystać z tej funkcji, musisz najpierw wdrożyć w swojej organizacji najnowszą wersję serwera proxy edgemicro-auth. Więcej informacji znajdziesz w artykule o uaktualnianiu serwera proxy uwierzytelniania Edgemicro.

  • 138722809 – Dodano nową właściwość konfiguracji stack_trace. Ta właściwość pozwala określić, czy zrzuty stosu będą pojawiać się w plikach logów. Przykład:
    stack_trace: false

    Jeśli stack_trace ma wartość true, zrzut stosu będzie wydrukowany w logach. Jeśli ma wartość false, zrzut stosu nie będzie drukowany w logach.

3.0.5

W czwartek 15 sierpnia opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

Naprawione błędy
  • 139005279 – rozwiązano problem, który powodował, że polecenie edgemicro status nie zwracało odpowiedniej liczby procesów instancji roboczych.
  • 138437710 – Naprawiliśmy problem w klasie ExitCounter, który uniemożliwiał zapisanie właściwego dziennika.
Ogólne ulepszenia komunikatów logu
  • 139064652 – Dodano możliwość dodawania poziomów rejestrowania trace i debug dla logów zdarzeń i logów systemowych. Na razie dodaliśmy tylko możliwość dodawania tych poziomów logów. Obecnie dostępne poziomy logu to info, warn i error.
  • 139064616 – Dane wyjściowe dziennika zostały ujednolicone dla wszystkich instrukcji dziennika konsoli. Instrukcje logowania w konsoli zawierają teraz te atrybuty:
    • Sygnatura czasowa
    • Nazwa komponentu
    • Identyfikator procesu
    • Komunikat logu konsoli
Ulepszenia klucza JWT i tajnego komunikatu logu
  • 138413755 – Popraw wiadomości dziennika związane z kluczem JWT i tajnymi kluczami związane z tymi poleceniami interfejsu wiersza poleceń: cert,verify,upgradekvm, token, genkeys, cancelkeys, conversionkey oraz configure.
Ulepszenia komunikatów o błędzie dotyczącym odrzucenia połączenia i limitu czasu
  • 138413577 – Dodaj i ulepsz obsługę błędów związanych z przekroczeniem limitu czasu usługi backendu.
  • 138413303 – dodaj i popraw obsługę błędów związanych z przekroczeniem limitu czasu odpowiedzi i gniazda.
  • 138414116 – Dodaj i popraw obsługę błędów „odmowa połączenia”.

3.0.4

W czwartek 1 sierpnia opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

  • 134445926 – Ulepszenia wewnętrznego uwierzytelniania Edge Microgateway.
  • 137582169 – Rozwiązaliśmy problem powodujący uruchamianie niechcianych procesów. Dodatkowe procesy spowodowały ponowne załadowanie wtyczek, przez co zajmowały za dużo pamięci. Edge Microgateway teraz utrzymuje liczbę procesów w oczekiwanym limicie.
  • 137768774 – Ulepszenia komunikatów:
    • Wyczyszczono dzienniki transakcji (żądania).
    • W razie potrzeby dodano więcej komunikatów logu.
    • Komunikaty logu transakcji (żądania) zostały przeniesione z danych wyjściowych konsoli do odpowiedniego pliku logu.
    • Zaktualizowaliśmy logi konsoli, aby używać scentralizowanej funkcji logowania.
  • 138321133, 138320563 – Podstawowa zmiana w zakresie bufora limitów, która umożliwi w przyszłości zwiększanie limitów.

3.0.3

We wtorek 23 lipca opublikowaliśmy następujące poprawki i ulepszenia Edge Microgateway.

  • Ulepszenia rejestrowania: istniejące logi środowiska wykonawczego korzystają z nowej funkcji eventLog(), która przechwytuje i loguje dane środowiska wykonawczego w spójnym formacie. Informacje logu obejmują:
    • Sygnatura czasowa (ISO 8601: RRRR-MM-DDTHH:mm:ss.sssZ).
    • Poziom rejestrowania (błąd, ostrzeżenie lub informacje).
    • Nazwa hosta – nazwa hosta żądania z nagłówka żądania.
    • Identyfikator procesu – jeśli korzystasz z klastra procesów Node.js, jest to identyfikator procesu, w którym miało miejsce logowanie.
    • Nazwa organizacji Apigee.
    • Nazwa środowiska w organizacji.
    • Nazwa serwera proxy interfejsu API.
    • Adres IP klienta.
    • ClientId;
    • Identyfikator korelacji (obecnie nie ustawiono).
    • Nazwa komponentu Edge Microgateway.
    • Komunikat niestandardowy – niektóre obiekty mogą drukować dodatkowe informacje przekazywane do tej właściwości błędu.
    • Metoda żądania (w przypadku żądania HTTP).
    • Kod stanu odpowiedzi (w przypadku żądania HTTP).
    • Komunikat o błędzie.
    • Kod błędu – jeśli obiekt zawiera kod błędu, jest on wyświetlany w tej właściwości.
    • Czas wykonania.
    • Znacznik końca wiersza w systemie operacyjnym

    Wartości właściwości null oznaczają puste nawiasy, czyli [].

    Poniższy przykład przedstawia format logu:

    Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]

    (137770055)

  • Wydajność: usługi interfejsu API nie były filtrowane według środowiska. Ten problem został rozwiązany. (135038879)
  • Różne integracje testów funkcjonalnych i poprawa jakości kodu.

3.0.2

W środę 3 lipca 2019 r. opublikowaliśmy następujące poprawki i ulepszenia dotyczące Edge Microgateway.

Jakość kodu – kod został sprawdzony pod kątem jakości i wprowadzono w nim zmiany, aby spełnić standardy jakości wymagane przez użytkowników. Naprawiliśmy błędy związane z jakością kodu i ostrzeżenia związane z JSHint. W rezultacie wykryto i naprawiono niektóre rzeczywiste błędy w kodzie. Wszystkie moduły Apigee Edge Microgateway przeszły ten proces. Zobacz zobowiązania na 28 czerwca i 2 lipca dotyczące microgateway-config, microgateway-core, microgateway-plugins i microgateway. Wszystkie moduły ze zmianami w jakości kodu zostały przetestowane za pomocą wewnętrznych narzędzi, które sprawdzają wykonanie Edge Microgateway pod kątem przypadków użycia klientów.

3.0.1

W piątek 21 czerwca 2019 r. opublikowaliśmy następujące poprawki i ulepszenia dotyczące Edge Microgateway.

  • 134834551 – Zmień obsługiwane wersje Node.js dla Edge Microgateway
    (Obsługiwane wersje Node.js: 8 i 12; wersje 7, 9 i 11 to wersje eksperymentalne)
  • 134751883 – Edge Microgateway ulega awarii podczas ponownego ładowania pod obciążeniem
  • 134518428 – punkt końcowy usług dla Edge Microgateway zwraca wartość 5XX, jeśli wzorzec filtra jest nieprawidłowy
  • 135113408 – instancje robocze powinny uruchomić się ponownie, jeśli niespodziewanie się zakończą
  • 134945852 – tokenCacheSize nie jest używany we wtyczce OAuth
  • 134947757 – Ustaw wartość cacheTTL we wtyczce OAuth
  • 135445171 – Obliczenie okresu prolongaty w OAuth jest nieprawidłowe
  • Użyj modułu memored dostarczonego w instalacji Edge Microgateway
  • 135367906 – Audyt bezpieczeństwa

Wersja 2.5.x

Nowe funkcje i ulepszenia w wersji 2.5.x

(Stała data 38.02.2019 r., 7.06.2019 r.)

Nieprawidłowo sformatowane tokeny JWT mogą spowodować awarię instancji roboczych podczas korzystania z pamięci podręcznej tokenów. Naprawiliśmy błąd w module wtyczek mikrobramy Edge. (b/134672029)

(Dodano 2.5.37) Dodaj opcję interfejsu wiersza poleceń edgemicro-cert -t.

Opcja edgemicro cert -t umożliwia określenie tokena OAuth do uwierzytelniania interfejsów API zarządzania. Zobacz też Zarządzanie certyfikatami.

(Dodano 2.5.35) Dodano obsługę debugowania Edge Microgateway za pomocą edgemicroctl.

Możesz używać flagi mgdebug z: edgemicroctl. Zapoznaj się też z zadaniami integracji Kubernetes.

(Dodano 2.5.35) Włącz kompilację Windows dla edgemicroctl

(Dodano 2.5.31) Nowy interfejs Edgemicro-auth/token API

Dodano nowy interfejs API Edgemicro-auth/token API, który umożliwia przekazywanie klienta/klucza tajnego jako nagłówka Podstawowa autoryzacja zakodowana w standardzie Base64, a jako parametr formularza grant_type. Zobacz Bezpośrednie uzyskiwanie tokenów okaziciela.

(Naprawa 2.5.31) Konfiguracja prywatna nie respektuje flagi tokena

Rozwiązaliśmy problem polegający na tym, że konfiguracja Edge Microgateway pod kątem użycia tokena dostępu OAuth2 w Edge dla Private Cloud nie działała prawidłowo (token nie był respektowany).

Docker: obsługa certyfikatów podpisanych samodzielnie

(Dodano 2.5.29) Jeśli używasz urzędu certyfikacji, który nie jest domyślnie zaufany w Node.js, możesz użyć parametru NODE_EXTRA_CA_CERTS podczas uruchamiania kontenera Dockera z Edge Microgateway. Więcej informacji znajdziesz w artykule Korzystanie z urzędu certyfikacji, który nie jest zaufany przez Node.js.

Docker: obsługa TLS

(Dodano wersję 2.5.29) Edge Microgateway uruchomiona w kontenerze Docker obsługuje teraz protokół TLS dla żądań przychodzących do serwera Edge Microgateway (żądania w kierunku północnym) oraz żądań wychodzących z Edge Microgateway do aplikacji docelowej (żądania południowego).

W podanych niżej przykładach szczegółowo wyjaśniamy, jak skonfigurować takie konfiguracje TLS:

W tych przykładach zobaczysz, jak użyć punktu podłączania kontenera /opt/apigee/.edgemicro do wczytania certyfikatów, do których będą się one odnosiły w pliku konfiguracji Edge Microgateway.

Docker: obsługa serwera proxy żądań

(Dodano 2.5.27) Jeśli uruchomisz Edge Microgateway w kontenerze Dockera, możesz użyć tych opcji, aby kontrolować zachowanie serwera proxy, gdy mikrobrama działa za zaporą sieciową:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Szczegółowe informacje znajdziesz w artykule Uruchamianie Edge Micro jako kontenera Dockera.

Docker: zaktualizowane instrukcje dotyczące wtyczki

(Dodano 2.5.27) Jeśli uruchomisz Edge Microgateway w kontenerze Dockera, będziesz mieć teraz 2 opcje wdrażania wtyczek. Jedną z opcji jest użycie punktu podłączania Dockera. Wcześniejsza opcja nie zmieniła się, ale plik Dockerfile został zaktualizowany. Szczegółowe informacje znajdziesz tutaj:

Nowa obsługa tokenów OAuth na potrzeby polecenia uaktualniania KVM

(Dodano 2.5.27) Możesz użyć tokena OAuth w poleceniu upgradekvm. Więcej informacji znajdziesz w artykule o uaktualnianiu KVM.

Segregowanie interfejsów API w Edge Analytics

(Dodano 2.5.26) Nowe flagi wtyczki Analytics umożliwiają segregację określonej ścieżki interfejsu API, dzięki czemu jest ona wyświetlana jako osobny serwer proxy w panelach Edge Analytics. Możesz na przykład segregować interfejsy API kontroli stanu, aby uniknąć pomylenia ich z rzeczywistymi wywołaniami interfejsu API. Więcej informacji znajdziesz w artykule Wykluczanie ścieżek z statystyk.

Konfigurowanie lokalnego serwera proxy

(Dodano wersję 2.5.25) Korzystając z lokalnego serwera proxy, nie musisz ręcznie tworzyć serwera proxy rozpoznającego mikrobramę w Apigee Edge. Zamiast tego mikrobrama będzie używać ścieżki bazowej lokalnego serwera proxy. Więcej informacji znajdziesz w artykule Korzystanie z lokalnego trybu proxy.

Korzystanie z trybu niezależnego

(Dodano wersję 2.5.25) Możesz uruchomić Edge Microgateway bez połączenia z dowolną zależność Apigee Edge. Ten scenariusz, nazywany trybem samodzielnym, pozwala uruchomić i przetestować Edge Microgateway bez połączenia z internetem. Zobacz Uruchamianie Edge Microgateway w trybie samodzielnym.

Unieważnianie kluczy

(Dodano 2.5.19) Dodano nowe polecenie interfejsu wiersza poleceń, które unieważnia klucz i tajne dane uwierzytelniające dla konfiguracji Edge Microgateway.

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Więcej informacji znajdziesz w artykule Unieważnianie kluczy.

Obsługa Dockera

(Dodano wersję 2.5.19) Możesz teraz pobrać najnowszą wersję Edge Microgateway jako obraz Dockera:

docker pull gcr.io/apigee-microgateway/edgemicro:latest

Pomoc Kubernetes

(Dodano wersję 2.5.19) Możesz wdrożyć Edge Microgateway jako usługę lub jako bramę pomocniczą przed usługami wdrożonymi w klastrze Kubernetes. Zobacz: Integracja Edge Microgateway z omówieniem Kubernetes.

Obsługa opcji układu węzłów TCP

(Dodano 2.5.16) Do konfiguracji Edge Micro dodano nowe ustawienie konfiguracji nodelay.

Domyślnie połączenia TCP używają algorytmu Nagle do buforowania danych przed ich wysłaniem. Ustawienie wartości nodelay na true wyłącza to zachowanie (dane od razu uruchamiają się po każdym wywołaniu metody socket.write()). Więcej informacji znajdziesz w dokumentacji Node.js.

Aby włączyć nodelay, zmodyfikuj plik konfiguracyjny Edge Micro w ten sposób:

edgemicro:
  nodelay: true
  port: 8000
  max_connections: 1000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Nowe opcje interfejsu wiersza poleceń do monitorowania bezterminowego

(Dodano 2.5.12) Do polecenia edgemicro forever dodaliśmy nowe parametry. Te parametry pozwalają określić lokalizację pliku forever.json i umożliwiają uruchomienie lub zatrzymanie procesu w tle. Przeczytaj też artykuł Monitorowanie bezterminowe.

ParametrOpis
-f, --fileOkreśla lokalizację pliku forever.json.
-a, --actionMoże to być start lub stop. Wartością domyślną jest początek.

Przykłady:

Aby zacząć na zawsze:

edgemicro forever -f ~/mydir/forever.json -a start

Aby zatrzymać usługę na zawsze:

edgemicro forever -a stop

Rotacja klucza JWT

Dodano nową funkcję, która umożliwia rotację par kluczy publicznych i prywatnych używanych do generowania tokenów JWT używanych na potrzeby zabezpieczeń protokołu OAuth w Edge Microgateway. Więcej informacji znajdziesz w artykule o rotacji kluczy JWT.

Filtrowanie pobranych serwerów proxy interfejsu API

Domyślnie Edge Microgateway pobiera wszystkie serwery proxy w organizacji Edge, które zaczynają się od prefiksu „edgemicro_”. Możesz zmienić to ustawienie domyślne, aby pobierać serwery proxy, których nazwy pasują do wzorca. Zobacz Filtrowanie pobranych serwerów proxy.

Określanie produktów bez serwerów proxy interfejsu API

W Apigee Edge możesz utworzyć usługę API, która nie zawiera żadnych serwerów proxy API. Ta konfiguracja usługi umożliwia użycie klucza interfejsu API powiązanego z tą usługą z dowolnym serwerem proxy wdrożonym w organizacji. Od wersji 2.5.4 Edge Microgateway obsługuje tę konfigurację usługi.

Obsługa stałego monitorowania

Edge Microgateway zawiera plik forever.json, który możesz skonfigurować, aby określić, ile razy i w jakich odstępach czasu należy restartować Edge Microgateway. Ten plik konfiguruje usługę o nazwie forever-monitor, która automatycznie zarządza usługą Forever. Zobacz Monitorowanie bezterminowe.

Centralne zarządzanie plikiem konfiguracji Edge Micro

Jeśli korzystasz z wielu instancji Edge Microgateway, możesz zarządzać ich konfiguracjami z jednej lokalizacji. Aby to zrobić, określ punkt końcowy HTTP, z którego Edge Micro może pobrać swój plik konfiguracji. Zapoznaj się z sekcją o określaniu punktu końcowego pliku konfiguracyjnego.

Obsługa opcji stałego interfejsu wiersza poleceń

(Dodano 2.5.8) Użyj polecenia edgemicro forever [package.json], aby określić lokalizację pliku forever.json. Przed dodaniem tego polecenia plik konfiguracji musiał znajdować się w katalogu głównym Edge Microgateway.

Na przykład:

edgemicro forever ~/mydir/forever.json

Dodanie opcji configUrl w celu ponownego załadowania polecenia

(Dodano 2.5.8) Możesz teraz używać opcji --configUrl lub -u z poleceniem edgemicro reload.

Okres prolongaty w przypadku rozbieżności czasu JWT

(Dodano 2.5.7) Atrybut gracePeriod w konfiguracji OAuth pomaga zapobiegać błędom powodowanym przez niewielkie rozbieżności między zegarem systemowym a czasami nieprzed (nbf) lub Issued At (iat) określonymi w tokenie autoryzacji JWT. Aby umożliwić wystąpienie takich rozbieżności, ustaw w tym atrybucie liczbę sekund. Więcej informacji znajdziesz w artykule Atrybuty OAuth.

(Dodano 2.5.7) Atrybut gracePeriod w konfiguracji OAuth pomaga zapobiegać błędom powodowanym przez niewielkie rozbieżności między zegarem systemowym a czasami nieprzed (nbf) lub Issued At (iat) określonymi w tokenie autoryzacji JWT. Aby umożliwić wystąpienie takich rozbieżności, ustaw w tym atrybucie liczbę sekund. Więcej informacji znajdziesz w artykule Atrybuty OAuth.

Poprawki błędów w wersji 2.5.x

  • (236) Usuwanie literówek podczas czyszczenia pamięci podręcznej.
  • (Problem #234) Awarie podczas ponownego ładowania w przypadku Edge Microgateway 2.5.35.
  • (135) Podczas korzystania z opcji -v wystąpił błąd „secure”: nieprawidłowe odniesienie do hosta wirtualnego. Ta poprawka zmienia serwer proxy uwierzytelniania brzegowego przed wdrożeniem, aby zapewnić, że hosty wirtualne są dokładnie zgodne z wartością określoną we fladze „-v”. Oprócz tego możesz określić dowolną liczbę i dowolną nazwę hosta wirtualnego (nie jest już ograniczona do domyślnej i bezpiecznej).
  • (Problem nr 141) Polecenie edgemicro fetch nie obsługuje opcji pliku konfiguracji -c. Naprawiliśmy ten problem.
  • (Numer 142) Edge Microgateway zgłasza skargę dotyczącą wycofanych kryptografii podczas instalacji. Naprawiliśmy ten problem.
  • (Problem 145) Limit nie działa z Edge Microgateway. Naprawiliśmy ten problem.
  • (Problem ze społecznością Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) token JWT został zweryfikowany pod kątem proxy interfejsu API i identyfikatora URI zasobu w OAUTH. Ten problem został rozwiązany.
  • (Problem ze społecznością Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Mikrogateway nie obsługuje protokołu OAuth. Naprawiliśmy ten problem.
  • Naprawiono pidPath w systemie Windows.
  • (Problem nr 157) Rozwiązaliśmy problem, który powodował wyświetlenie tego komunikatu o błędzie: brak zdefiniowanej nazwy ReferenceError: deployProxyWithPassword.
  • (Problem 169) Aktualizacja zależności Node.js (kontrola npm)
  • Serwer proxy edgemicro-auth używa teraz zasad Edge JWT. Serwer proxy nie korzysta już z środowiska Node.js w zakresie obsługi tokena JWT.

Wersja 2.4.x

Nowe funkcje i ulepszenia w wersji 2.4.x

1. Ustaw niestandardowy alias dla serwera proxy uwierzytelniania Edgemicro (PR 116)

Możesz zmienić domyślną ścieżkę bazową serwera proxy edgemicro-auth. Domyślna ścieżka bazowa to /edgemicro-auth. Aby ją zmienić, użyj flagi -x w poleceniu edgemicro configure.

Przykład:

edgemicro configure -x /mypath …


2. Obsługa symboli wieloznacznych w ścieżkach podstawowych (PR 77)

W ścieżce bazowej serwera proxy edgemicro_* możesz użyć co najmniej jednego symbolu wieloznacznego „*”. Na przykład ścieżka bazowa /team/*/members pozwala klientom wywoływać adresy https://[host]/team/blue/members i https://[host]/team/green/members bez konieczności tworzenia nowych serwerów proxy interfejsu API do obsługi nowych zespołów. Pamiętaj, że parametr /**/ nie jest obsługiwany.

Ważne: Apigee NIE obsługuje użycia symbolu wieloznacznego „*” jako pierwszego elementu ścieżki bazowej. Na przykład nie jest to obsługiwane: /*/search.

3. Dodano niestandardową ścieżkę konfiguracji do interfejsu wiersza poleceń na potrzeby konfiguracji Private Cloud (PR 99)

Domyślnie plik konfiguracji mikrobramy znajduje się w lokalizacji ./config/config.yaml. W poleceniach inicjowania, konfigurowania i uruchamiania możesz teraz określić w wierszu poleceń niestandardową ścieżkę konfiguracji za pomocą flag -c lub --configDir. Rozwiązaliśmy problem, który powodował, że niestandardowy katalog konfiguracji na potrzeby instalacji chmury prywatnej nie był rozpoznawany.

Przykład:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

4. Przestrzegaj zmiennych *_PROXY (PR 61)

Jeśli Edge Microgateway jest zainstalowana za zaporą sieciową i nie może komunikować się z Apigee Edge w chmurze publicznej, masz 2 możliwości:

Opcja 1:

Pierwszą opcją jest ustawienie opcji Edgemicro: proxy_tunnel na wartość true w pliku konfiguracyjnym mikrobramy:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

Gdy parametr proxy_tunnel ma wartość true, Edge Microgateway używa metody połączenia HTTP do tunelowania żądań HTTP przez pojedyncze połączenie TCP. (To samo dzieje się, jeśli zmienne środowiskowe do konfigurowania serwera proxy mają włączony protokół TLS).

Opcja 2:

Drugą opcją jest określenie serwera proxy i ustawienie parametru proxy_tunnel na false w pliku konfiguracji mikrobramy. Na przykład:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: false

W tym przypadku możesz ustawić następujące zmienne, aby kontrolować hosty dla każdego serwera proxy HTTP, którego chcesz używać, lub które hosty nie powinny obsługiwać serwerów proxy Edge Microgateway: HTTP_PROXY, HTTPS_PROXY i NO_PROXY. Możesz ustawić NO_PROXY jako listę rozdzielonych przecinkami domen, do których Edge Microgateway nie ma serwera proxy. Na przykład:

export HTTP_PROXY='http://localhost:3786'
export HTTPS_PROXY='https://localhost:3786'

Więcej informacji o tych zmiennych znajdziesz tutaj:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


5. Ustaw niestandardowy czas oczekiwania dla żądań docelowych (PR 57)

Możesz ustawić niestandardowy limit czasu dla żądań docelowych w tej konfiguracji:

edgemicro:
    request_timeout: 10

Limit czasu jest ustawiany w sekundach. Jeśli limit czasu zostanie przekroczony, Edge Microgateway w odpowiedzi z kodem stanu 504.

6. Przestrzegaj niestandardowych komunikatów o stanie HTTP w odpowiedzi docelowej (PR 53)

Edge Microgateway obsługuje niestandardowe komunikaty o stanie HTTP ustawione w odpowiedzi docelowej. W poprzednich wersjach komunikaty o stanie wysyłane z miejsca docelowego zostały zastąpione wartościami domyślnymi Node.js.

7. Nagłówek X-Forwarded-For może ustawiać parametr client_ip na potrzeby analityki

Jeśli ten nagłówek jest obecny, nagłówek X-Forwarded-For ustawi zmienną client_ip raportowaną w Edge Analytics. Ta funkcja pozwala poznać adres IP klienta, który wysłał żądanie do Edge Microgateway.

8. Zmiany we wtyczce OAuth

Wtyczka OAuth obsługuje weryfikację klucza interfejsu API i weryfikację tokena dostępu OAuth. Przed tą zmianą wtyczka akceptowała dowolną z tych form zabezpieczeń. Dzięki tej zmianie możesz zezwolić tylko na 1 z tych modeli zabezpieczeń (zachowując zgodność wsteczną).

Wtyczki OAuth dodają 2 nowe flagi:

  • allowOAuthOnly – jeśli ustawisz wartość true, każdy interfejs API musi mieć nagłówek Authorization z tokenem dostępu okaziciela.

  • allowAPIKeyOnly – jeśli ustawisz wartość true, każdy interfejs API musi mieć nagłówek x-api-key (lub lokalizację niestandardową) z kluczem interfejsu API.

W pliku konfiguracji Edge Microgateway ustaw te flagi w następujący sposób:

oauth:
    allowNoAuthorization: false
    allowInvalidAuthorization: false
    keep-authorization-header: false
    allowOAuthOnly: false
    allowAPIKeyOnly: false

9. Ulepszyliśmy serwer proxy uwierzytelniania Edgemicro (PR 40)

Ulepszono serwer proxy edgemicro-auth. Przed tymi zmianami serwer proxy przechowujeł klucze w zaszyfrowanym magazynie Edge Secure Store. Teraz serwer proxy przechowuje klucze w zaszyfrowanej mapie par klucz-wartość (KVM) Edge.

10. Przepisywanie domyślnego docelowego adresu URL we wtyczce (PR 74)

Możesz też zastąpić port docelowego punktu końcowego i wybrać HTTP lub HTTPS. Zmodyfikuj w kodzie wtyczki te zmienne: req.targetPort i req.targetSecure. Aby wybrać HTTPS, ustaw parametr req.targetSecure na true, a w przypadku HTTP – false. Jeśli ustawisz req.targetSecure na wartość true, przeczytaj ten wątek dyskusji, aby uzyskać więcej informacji.

11. Wstępna obsługa uwierzytelniania tokenem OAuth (PR 125)

Możesz skonfigurować Edge Microgateway tak, aby do uwierzytelniania używała tokena OAuth zamiast nazwy użytkownika i hasła. Aby użyć tokena OAuth, użyj tego parametru w poleceniu edgemicroconfigure:

-t, --token <token>

Na przykład:

edgemicro configure -o docs -e test -t <your token>

Poprawki błędów w wersji 2.4.3

  • Rozwiązaliśmy problem, który powodował, że płatna organizacja była wymagana do prawidłowego uruchomienia serwera proxy uwierzytelniania Edgemicro. Teraz możesz używać Edge Microgateway również w organizacjach próbnych. (PR 5)
  • Rozwiązaliśmy problem, który powodował, że strumień nie zakończył przetwarzania danych, ale moduły obsługi końcowe i tak były wykonywane. W rezultacie została wysłana częściowa odpowiedź. (PR 71)
  • Rozwiązaliśmy problem, który powodował, że niestandardowy katalog konfiguracji na potrzeby instalacji Private Cloud nie był rozpoznawany. (PR 110)
  • Naprawiliśmy problem z dwukierunkową transmisją SSL między klientem a Edge Microgateway. (PR 70)
  • Rozwiązaliśmy problem, który powodował, że w ścieżce bazowej serwera proxy wymagany był końcowy ukośnik, aby weryfikacja klucza interfejsu API działała prawidłowo. Teraz ukośnik na końcu ścieżki bazowej nie jest potrzebny. (PR 48)

Wersja 2.3.5

Nowe funkcje i ulepszenia w wersji 2.3.5

Filtrowanie serwera proxy

Możesz filtrować serwery proxy z uwzględnieniem mikrobramy, które będzie przetwarzać instancja Edge Microgateway. Po uruchomieniu Edge Microgateway pobiera wszystkie serwery proxy rozpoznające mikrobramy w organizacji, z którą jest powiązana. Użyj poniższej konfiguracji, aby ograniczyć serwery proxy, które będzie przetwarzać mikrobrama. Na przykład ta konfiguracja ogranicza serwery proxy przetwarzane przez mikrobramę do 3 serwerów: edgemicro_proxy-1, edgemicro_proxy-2 i edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Maskowanie danych Analytics

Nowa konfiguracja pozwala zapobiec wyświetlaniu informacji o ścieżce żądania w analityce Edge. Dodaj poniższy kod do konfiguracji mikrobramy, aby zamaskować identyfikator URI żądania lub ścieżkę żądania. Pamiętaj, że identyfikator URI składa się z nazwy hosta i części ścieżki żądania.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

Wersja 2.3.3

Nowe funkcje i ulepszenia w wersji 2.3.3

Poniżej znajdziesz opis nowych funkcji i ulepszeń w tej wersji.

Wyłączanie automatycznego sprawdzania zmian

Możesz wyłączyć automatyczne odpytywanie zmian, ustawiając ten atrybut w konfiguracji mikrobramy:

disabled_config_poll_interval: true

Domyślnie okresowe odpytywanie wykrywa wszystkie zmiany wprowadzone w Edge (zmiany usług, serwerów proxy rozpoznających mikrobramę itp.), a także zmiany wprowadzone w lokalnym pliku konfiguracji. Domyślny interwał odpytywania to 600 sekund (5 minut).

Przepisywanie docelowych adresów URL we wtyczkach

Możesz dynamicznie zastąpić domyślny docelowy URL we wtyczce, modyfikując w kodzie wtyczki te zmienne: req.targetHostname i req.targetPath.

Nowy podpis funkcji wtyczki

Dodano nowy podpis funkcji wtyczki, który udostępnia docelową odpowiedź jako argument. Ułatwia to wtyczkom dostęp do docelowej odpowiedzi.

function(sourceRequest, sourceResponse, targetResponse, data, cb)

Uproszczone domyślne dane wyjściowe logowania

Domyślnie usługa logowania pomija plik JSON z pobranymi serwerami proxy, produktami i tokenem JWT. Możesz zmienić ustawienie domyślne, aby te obiekty były wyświetlane, ustawiając DEBUG=* podczas uruchamiania Edge Microgateway. Na przykład:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

Niestandardowa ścieżka konfiguracji została dodana do interfejsu wiersza poleceń

Domyślnie plik konfiguracji mikrobramy znajduje się w pliku ./config/config.yaml. W poleceniach inicjowania, konfigurowania i uruchamiania możesz teraz podać w wierszu poleceń niestandardową ścieżkę konfiguracji. Na przykład:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

Poprawki błędów w wersji 2.3.3

  • Naprawiono wyciek pamięci, który występował podczas dużych żądań lub odpowiedzi.
  • Kolejność wykonywania wtyczki została naprawiona. Teraz działa w sposób opisany w dokumentacji.
  • Wtyczka gromadzi-żądania nie blokuje się już dla żądań GET.
  • Rozwiązaliśmy problem we wtyczce zbierania odpowiedzi, w wyniku której brak treści odpowiedzi powodował błędy.

Wersja 2.3.1

Uwagi dotyczące instalacji

Niektóre poprzednie wersje Edge Microgateway umożliwiają zainstalowanie oprogramowania przez pobranie pliku ZIP. Te pliki ZIP nie są już obsługiwane. Aby zainstalować Edge Microgateway, musisz użyć:

npm install -g edgemicro

Więcej informacji znajdziesz w temacie instalacji.

Nowe funkcje i ulepszenia w wersji 2.3.1

Poniżej znajdziesz opis nowych funkcji i ulepszeń w tej wersji.

Filtrowanie serwerów proxy

Nowa konfiguracja umożliwia filtrowanie serwerów proxy, które Edge Microgateway zostaną załadowane po uruchomieniu. Wcześniej mikrobrama wczytywała wszystkie serwery proxy rozpoznające mikrobramę (serwery proxy o nazwie Edgemicro_*), które zostały pobrane z organizacji/środowiska Edge określonego w poleceniu Edgemicro Configure. Ta nowa funkcja umożliwia filtrowanie listy serwerów proxy, aby Edge Microgateway ładowała tylko te, które wskażesz. Wystarczy dodać element proxy do pliku konfiguracyjnego mikrobramy w ten sposób:

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

Załóżmy na przykład, że w swojej organizacji/env masz 50 serwerów proxy edgemicro_*, w tym te o nazwach edgemicro_foo i edgemicro_bar. Możesz skonfigurować mikrobramę tak, aby używała tylko tych 2 serwerów proxy:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Po uruchomieniu mikrobrama będzie mogła wywoływać tylko określone serwery proxy. Próby wywołania innych serwerów proxy z uwzględnieniem mikrobramy pobranych z organizacji lub środowiska Edge zakończy się błędem.

Ustawianie docelowych nagłówków żądań we wtyczkach

Jeśli chcesz dodawać lub modyfikować docelowe nagłówki żądań, weź pod uwagę 2 podstawowe wzorce: pierwszy, w którym przychodzące żądanie zawiera dane (jak w żądaniu POST), i drugi, gdzie nie ma (jak w prostym żądaniu GET).

Rozpatrzmy przypadek, w którym przychodzące żądanie zawiera dane i chcesz ustawić nagłówki żądań w żądaniu docelowym. W poprzednich wersjach Edge Microgateway nie można było poprawnie ustawić nagłówków docelowych.

Kluczem do tego wzorca jest najpierw gromadzenie wszystkich danych przychodzących od klienta. Następnie w funkcji onend_request() użyj nowej funkcji request.setOverrideHeader(name, value), aby dostosować nagłówki.

Oto przykładowy kod wtyczki, który pokazuje, jak to zrobić. Nagłówki ustawione w onend_request są wysyłane do celu:

module.exports.init = function(config, logger, stats) {


  function accumulate(req, data) {
    if (!req._chunks) req._chunks = [];
    req._chunks.push(data);
  }

  return {

    ondata_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      next(null, null);
    },

    onend_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      var content = Buffer.concat(req._chunks);
      delete req._chunks;
      req.setOverrideHeader('foo', 'bar');
      req.setOverrideHeader('content-length', content.length);
      next(null, content);
    },


    onerror_request: function(req, res, data, next) {
      next(null, null);
    }

  };

}

Jeśli żądanie nie zawiera danych, możesz ustawić nagłówki docelowe w module obsługi onrequest(). Ten wzorzec nie jest nowy – został wcześniej udokumentowany i był używany w przykładowych wtyczkach udostępnianych przez Edge Microgateway.

onrequest: function(req, res, next) {
      debug('plugin onrequest');
      req.headers['x-foo-request-id'] = "bar";
      req.headers['x-foo-request-start'] = Date.now();
      next();
    }

Funkcja ponownego ładowania bez przestojów

Po wprowadzeniu zmiany w konfiguracji Edge Microgateway możesz wczytać konfigurację bez odrzucania żadnych wiadomości. Po tej zmianie Edge Microgateway zawsze uruchamia się w trybie klastra, a opcja --cluster została usunięta z polecenia edgemicro start.

Oprócz tego dodaliśmy 3 nowe polecenia interfejsu wiersza poleceń. Te polecenia musisz uruchamiać w tym samym katalogu, w którym wykonano polecenie startowe Edgemicro:

  • edgemicro status – sprawdza, czy Edge Microgateway jest uruchomiona.
  • edgemicro stop – zatrzymuje klaster Edge Microgateway.
  • edgemicro reload – ponownie wczytuje konfigurację Edge Microgateway bez przestojów.

Automatyczne ponowne ładowanie konfiguracji przy zerowym czasie przestoju

Edge Microgateway co jakiś czas wczytuje nową konfigurację i wykonuje ponowne załadowanie, jeśli coś się zmieni. Odpytywanie wykrywa wszystkie zmiany wprowadzone w Edge (zmiany w usługach, serwerach proxy rozpoznających mikrobramę itp.), a także zmiany wprowadzone w lokalnym pliku konfiguracji. Domyślny interwał odpytywania to 600 sekund (5 minut). Możesz zmienić wartość domyślną w pliku konfiguracji mikrobramy w następujący sposób:

edgemicro:
    config_change_poll_interval: [seconds]

Dodano informacje o wersji do interfejsu wiersza poleceń

Do interfejsu wiersza poleceń została dodana flaga --version. Aby pobrać bieżącą wersję Edge Microgateway, wpisz:

edgemicro --version

Nowe opcje SSL serwera Edge Microgateway

Oprócz protokołów key i cert Edge Microgateway obsługuje teraz następujące opcje SSL serwera:

Opcja Opis
pfx Ścieżka do pliku pfx, który zawiera klucz prywatny, certyfikat i certyfikaty urzędów certyfikacji klienta w formacie PFX.
passphrase Ciąg tekstowy zawierający hasło klucza prywatnego lub pliku PFX.
ca Ścieżka do pliku zawierającego listę zaufanych certyfikatów w formacie PEM.
ciphers Ciąg opisujący mechanizmy szyfrowania, oddzielony znakiem „:”.
rejectUnauthorized Jeśli ma wartość true (prawda), certyfikat serwera jest weryfikowany pod kątem listy dostarczonych urzędów certyfikacji. Jeśli weryfikacja się nie powiedzie, zostanie zwrócony błąd.
secureProtocol Metoda SSL, która ma być używana. Przykład: metoda SSLv3_method wymusza stosowanie protokołu SSL do wersji 3.
servername Nazwa serwera dla rozszerzenia TLS SNI (Server Name Indication).

Wysyłanie plików dziennika na stdout

Za pomocą nowego ustawienia konfiguracji możesz wysyłać dane logu na standardowe dane wyjściowe:

edgemicro:
  logging:
    to_console: true  

Zobacz Zarządzanie plikami dziennika.

Wersja 2.1.2

Poniżej znajdziesz opis nowych funkcji i ulepszeń w tej wersji.

Zezwalaj na konfigurowanie niestandardowego punktu końcowego interfejsu API

Dostępne są nowe konfigurowalne punkty końcowe dla serwera proxy autoryzacji, które obsługują korzystanie z niestandardowej usługi uwierzytelniania. Te punkty końcowe to:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Więcej informacji znajdziesz w artykule o używaniu niestandardowej usługi uwierzytelniania.

Wersja 2.1.1

Poniżej znajdziesz opis nowych funkcji i ulepszeń w tej wersji.

Wdrażanie serwera proxy uwierzytelniania zgodnego z wieloma platformami

Wprowadziliśmy udoskonalenie, dzięki któremu polecenie używane do wdrażania serwera proxy autoryzacji Edge Microgateway w Edge jest zgodne z systemami Windows.

Wersja 2.1.0

Nowe funkcje i ulepszenia w wersji 21.0

Oto nowe funkcje i ulepszenia:

Określanie opcji SSL/TLS klienta

Za pomocą nowego zestawu opcji konfiguracji możesz określić opcje klienta dla połączeń SSL/TSL z miejscami docelowymi. Zapoznaj się z artykułem Korzystanie z opcji SSL/TSL klienta.

Wersja 2.0.11

Uwagi dotyczące instalacji: wersja 2.0.11

Niektóre poprzednie wersje Edge Microgateway umożliwiają zainstalowanie oprogramowania przez pobranie pliku ZIP. Te pliki ZIP nie są już obsługiwane. Aby zainstalować Edge Microgateway, musisz użyć:

npm install -g edgemicro

Więcej informacji znajdziesz w temacie instalacji.

Nowe funkcje i ulepszenia w wersji 2.0.11

Oto nowe funkcje i ulepszenia:

Określanie portu podczas uruchamiania

Polecenie startowe pozwala podać numer portu, który ma zastąpić port określony w pliku konfiguracji. Numer portu możesz też podać za pomocą zmiennej środowiskowej PORT. Więcej informacji znajdziesz w opisie polecenia uruchamiania.

Opcjonalnie zachowuj nagłówki uwierzytelniania

Nowe ustawienie konfiguracji keepAuthHeader pozwala zachować nagłówek autoryzacji wysłany w żądaniu. Jeśli zasada ma wartość Prawda, nagłówek uwierzytelniania jest przekazywany do środowiska docelowego. Zobacz atrybuty protokołu OAuth.

Możliwość korzystania z niestandardowej usługi autoryzacji

Jeśli do uwierzytelniania chcesz używać własnej usługi niestandardowej, zmień wartość authUri w pliku konfiguracji Edge Microgateway, aby wskazywała Twoją usługę. Więcej informacji znajdziesz w artykule o używaniu niestandardowej usługi uwierzytelniania.

Wersja 2.0.4

Edge Microgateway w wersji 2.0.4 została opublikowana 25 maja 2016 r.

Nowe funkcje i ulepszenia w wersji 2.0.4

Poniżej znajdziesz listę nowych funkcji i ulepszeń w tej wersji.

Obsługa ścieżek zasobów w usługach

Edge Microgateway obsługuje teraz ścieżki zasobów w usługach. Ścieżki zasobów pozwalają ograniczyć dostęp do interfejsów API na podstawie sufiksu ścieżki serwera proxy. Szczegółowe informacje o tworzeniu usług i konfigurowaniu ścieżek zasobów znajdziesz w artykule Tworzenie usług API.

Obsługa npm instalacji globalnej

Możesz teraz zainstalować Edge Microgateway przy użyciu opcji npm -g (globalnej). Szczegółowe informacje o tej opcji znajdziesz w dokumentacji npm.

Wersja 2.0.0

Aplikacja Edge Microgateway w wersji 2.0.0 została opublikowana 18 kwietnia 2016 r.

Nowe funkcje i ulepszenia w wersji 2.0.0

Poniżej znajdziesz listę nowych funkcji i ulepszeń w tej wersji.

Serwer z jednym procesem

Edge Microgateway to teraz serwer z jednym procesem. Nie używa już modelu 2 procesów, w którym jeden proces (nazywany wcześniej „agentem”) uruchamia Edge Microgateway, a następnie drugi proces. Nowa architektura ułatwia automatyzację i konteneryzację.

Pliki konfiguracji przestrzeni nazw

Pliki konfiguracji mają teraz przestrzeń nazw według organizacji i środowiska, dzięki czemu na tym samym hoście może działać wiele instancji Microgateway. Pliki konfiguracji znajdziesz w katalogu ~/.edgemicro po uruchomieniu polecenia config Edge Microgateway.

Nowe zmienne środowiskowe

Teraz dostępne są 4 zmienne środowiskowe: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY i EDGEMICRO_SECRET. Jeśli ustawisz te zmienne w swoim systemie, nie musisz określać ich wartości podczas konfigurowania i uruchamiania Edge Microgateway za pomocą interfejsu wiersza poleceń.

Konfiguracja z pamięci podręcznej

Edge Microgateway używa pliku konfiguracji z pamięci podręcznej w przypadku ponownego uruchomienia bez połączenia z Apigee Edge .

Tryb klastra

Dostępne są teraz opcje uruchamiania Edge Microgateway w trybie klastra. Tryb klastra umożliwia korzystanie z systemów wielordzeniowych. Mikrogateway wykorzystuje na potrzeby tej funkcji moduł klastra Node.js. Szczegółowe informacje znajdziesz w dokumentacji Node.js.

Poprawki błędów w wersji 2.0.0

Cykl życia zdarzeń wtyczki prawidłowo obsługuje teraz kod asynchroniczny zawierający kod z nowym wywołaniem zwrotnym.

Wersja 1.1.2

Edge Microgateway 1.1.2 została opublikowana 14 marca 2016 r.

Nowe funkcje i ulepszenia w wersji 1.1.2

Poniżej znajdziesz listę nowych funkcji i ulepszeń w tej wersji.

Poprawa wydajności

Edge Microgateway korzysta teraz prawidłowo z agenta HTTP Node.js, aby zapewnić lepsze łączenie połączeń. To ulepszenie poprawia wydajność i ogólną stabilność przy dużym obciążeniu.

Obsługa zdalnego debugera

Edge Microgateway możesz skonfigurować tak, aby działała ze zdalnym debugerem, takim jak node-inspector.

Nowa lokalizacja pliku konfiguracyjnego

Gdy skonfigurujesz Edge Microgateway, plik agent/config/default.yaml zostanie skopiowany do ~./edgemicro/config.yaml.

Rotacja pliku dziennika

Nowy atrybut konfiguracji pozwala określić interwał rotacji dla logów Edge Microgateway.

Poprawki błędów w wersji 1.1.2

W wersji 1.1.2 naprawiliśmy poniższe błędy.

Opis
Objaśnienie Java dla wewnętrznego serwera proxy Edgemicro używanego w lokalnym środowisku Edge używa teraz prawego serwera MGMT.
Usuń z agenta zależności TypeScript.
Napraw błąd interfejsu wiersza poleceń podczas korzystania z opcji wdrożenia lekkiego.
Napraw odwołanie do zależności logicznej certyfikatu.