Informacje o wersji Edge Microgateway

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

Wersja 3.3.x

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

3.3.5

W piątek, 20 grudnia 2024 r., wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

Wersje komponentów:

Poniższa tabela zawiera numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.5. Pamiętaj, że każda część jest oddzielnym projektem, więc numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core config wtyczki, edgeauth
3.3.5 3.3.5 3.3.5 3.3.5 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
383024578 Funkcja

Dodaliśmy obsługę Node.js w wersji 22 i wycofaliśmy obsługę wersji 16. Jeśli używasz Node.js w wersji 18, Edge Microgateway wyświetla ten komunikat o błędzie podczas uruchamiania:

current nodejs version is  18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0

Jeśli używasz starszej wersji Node.js, zobaczysz ten komunikat o błędzie:

You are using a version of NodeJS that is not supported

Rozwiązano problemy z zabezpieczeniami

  • CVE-2024-21538
  • CVE-2024-45590
  • CVE-2019-3844
  • CVE-2019-12290
  • CVE-2020-1751
  • CVE-2018-12886
  • CVE-2023-50387
  • CVE-2019-3843
  • CVE-2022-4415
  • CVE-2021-3997

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

3.3.4

18 września 2024 r. wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.4. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core config wtyczki, edgeauth
3.3.4 3.3.4 3.3.4 3.3.4 3.2.2

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
675987751 Błąd

Rozwiązaliśmy problem, który powodował, że Edge Microgateway nie rejestrował adresów IP klientów.

Rozwiązano problemy z zabezpieczeniami

  • CVE-2021-23337
  • CVE-2024-4068
  • CVE-2020-28469
  • CVE-2020-28503

3.3.3

25 kwietnia 2024 r. wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.3. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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ęto

Wtyczka klienta Eureka została usunięta z Edge Microgateway. Usunięcie tej funkcji nie ma wpływu na główną funkcjonalność Edge Microgateway ani na zastępowanie docelowych adresów URL. Więcej informacji znajdziesz w artykule Zastępowanie docelowych adresów URL w pluginach.

283947053 Usunięto

Obsługa forever-monitor została usunięta z Edge Microgateway. Ciąg forever-monitor możesz zastąpić ciągiem PM2. Szczegółowe informacje znajdziesz w tym poście na forum społeczności Apigee: Edgemicro + PM2: uruchamianie edgemicro jako usługi.

Rozwiązano problemy z zabezpieczeniami

  • 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. wprowadziliśmy w Edge Microgateway następujące poprawki i ulepszenia.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.2. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 wiersza poleceń Edge Microgateway będą działać tylko w obsługiwanych wersjach. Wykonywanie poleceń wiersza poleceń w nieobsługiwanych wersjach spowoduje wystąpienie błędu. Zobacz też Obsługiwane oprogramowanie i wersje Apigee.

283947053 Błąd

Rozwiązaliśmy problem polegający na tym, że Edge Microgateway zwracał pierwszy interfejs API na liście interfejsów API powiązanych z aplikacją. Teraz określamy, który interfejs API zwrócić na podstawie żądania.

274443329 Błąd

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

Rozwiązano problemy z zabezpieczeniami

Brak.

3.3.1

7 czerwca 2022 r. wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.3.1. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 teraz wersja Node.js 16.

231972608 Błąd

Rozwiązaliśmy problem polegający na tym, że podczas próby skonfigurowania chmury prywatnej komenda private configure zwracała błąd.

233315475 Błąd

Rozwiązaliśmy problem, który powodował błąd analizy podczas przekształcania odpowiedzi z formatu JSON na XML w pluginie json2xml, gdy był on używany w połączeniu z pluginem accumulate-response.

221432797 Zmień

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

215748732 Funkcja

Do polecenia revokekeys dodano obsługę uwierzytelniania za pomocą tokena SAML.

Teraz możesz przekazywać token SAML zamiast nazwy użytkownika i hasła, korzystając z opcji -t w poleceniu revokekeys.

Więcej informacji znajdziesz w materiałach referencyjnych dotyczących wiersza poleceń.

218723889 Aktualizacja dokumentu

Dokumentacja została zaktualizowana i zawiera link do obsługiwanych wtyczek Edge Microgateway przechowywanych na GitHub. Zobacz dostępne wtyczki w pakiecie z Edge Microgateway.

Rozwiązano problemy z zabezpieczeniami

Identyfikator problemu Opis
CVE-2021-23413 Dotyczy to pakietu jszip w wersji wcześniejszej niż 3.7.0. Utworzenie nowego pliku ZIP z nazwami plików ustawionymi na wartości prototypu obiektu (np. proto, toString itp.) powoduje zwrócenie obiektu z zmodyfikowaną instancją prototypu.

3.3.0

4 lutego 2022 r. wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.3.0. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 Edge Microgateway Gateway w wersji 3.3.0 jest niezgodna z poleceniem npm audit fix.

Uruchomienie npm audit fix powoduje uaktualnienie apigeetool do wersji 0.15.2, co wpływa na polecenie edgemicro upgradeauth.

Jeśli najpierw wykonasz npm audit fix, a potem edgemicro upgradeauth, zobaczysz ten błąd:

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

Aby rozwiązać problem, uruchom to polecenie, aby przywrócić prawidłową wersję pliku apigeetool:

npm install apigeetool@0.15.1

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

138622990 Funkcja

Nowa flaga dla wtyczki Quota, isHTTPStatusTooManyRequestEnabled, skonfiguruje wtyczkę tak, aby zwracała kod stanu odpowiedzi HTTP 429 zamiast kodu 403, jeśli wystąpi naruszenie limitu. Więcej informacji znajdziesz w artykule Opcje konfiguracji dotyczące limitu.

192534424 Błąd

Rozwiązaliśmy problem polegający na tym, że kod odpowiedzi widoczny w statystykach Apigee nie pasował do kodu odpowiedzi Edge Microgateway.

198986036 Ulepszenie Edge Microgateway pobiera teraz klucz publiczny dostawcy tożsamości (IDP) w każdym interwale odpytywania i aktualizuje go, jeśli klucz publiczny IDP ulegnie zmianie. Wcześniej w przypadku zmiany klucza publicznego dostawcy tożsamości wtyczka extauth nie mogła zaktualizować klucza publicznego bez ponownego wczytania Edge Microgateway.
168713541 Błąd

Dokumentacja została rozszerzona o informacje o konfigurowaniu TLS/SSL dla wielu celów. Zapoznaj się z artykułem Korzystanie z opcji SSL/TLS klienta.

171538483 Błąd

Zmieniono dokumentację, aby poprawić konwencję nazewnictwa plików dziennika. Zapoznaj się z konwencjami nazewnictwa plików z logami.

157908466 Błąd

Zmieniliśmy dokumentację, aby poprawnie wyjaśniała, jak zainstalować określoną wersję Edge Microgateway. Jeśli masz połączenie z internetem, zapoznaj się z artykułem Przechodzenie na Edge Microgateway.

215748427 Błąd Rozwiązaliśmy problem, który powodował, że komenda revokekeys zwracała błąd podczas odwoływania klucza za pomocą istniejącego klucza i pary tajemnej.
205524197 Błąd Dokumentacja została zaktualizowana, aby zawierała pełną listę poziomów rejestrowania. 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. wprowadziliśmy w Edge Microgateway następujące poprawki i ulepszenia.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.3. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 umożliwia zniesienie rygorystycznych uprawnień do pliku dziennika aplikacji api-log.log. Więcej informacji znajdziesz w artykule Jak poluzować uprawnienia do plików dziennika.

192799989 Funkcja

Atrybut konfiguracji on_target_response_abort umożliwia kontrolowanie zachowania urządzenia Edge Microgateway, jeśli połączenie między klientem (Edge Microgateway) a serwerem docelowym zostanie zamknięte przedwcześnie. Więcej informacji znajdziesz w artykule Atrybuty edgemicro.

148062415 Błąd Rozwiązaliśmy problem, który powodował, że w kontekście kontenera Dockera Edge Microgateway nie zamykał się prawidłowo za pomocą polecenia docker stop {containerId}. Proces został zatrzymany, ale pliki .sock.pid nie zostały usunięte. Teraz pliki zostały usunięte, a ponowne uruchomienie tego samego kontenera działa zgodnie z oczekiwaniami.
190715670 Błąd Rozwiązano problem, który powodował zablokowanie niektórych żądań podczas wewnętrznej aktywności przeładowania mikrobramki. Ten problem występował sporadycznie i wystąpił w sytuacjach dużego natężenia ruchu. Problem występował podczas korzystania z funkcji tokenCachecacheKey w pluginie OAuth.
183910111 Błąd Rozwiązaliśmy problem, który powodował, że adres URL ścieżki zasobu z końcową ukośnicą był nieprawidłowo interpretowany jako oddzielna ścieżka zasobu. Obecnie ścieżki /country/all/country/all/ są interpretowane jako ta sama ścieżka.

Rozwiązano problemy z zabezpieczeniami

Identyfikator problemu Opis
CVE-2020-28503 Właściwości kopii pakietu w wersji 2.0.5 i starszych są podatne na zanieczyszczenie prototypu przez główną funkcję.
CVE-2021-23343 Wszystkie wersje funkcji pakietów „path-parse” są podatne na atak polegający na odmowie usługi (ReDoS) za pomocą wyrażeń regularnych splitDeviceRe, splitTailRe i splitPathRe. W najgorszym przypadku złożoność czasowa ReDoS jest wykładnicza.

3.2.2

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.2. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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ń

Zmieniono wartość expires_in z ciągu na liczbę całkowitą

Interfejsy API żądania tokena i żądania odświeżenia tokena zwracają teraz wartość expires_in jako liczbę całkowitą w sekundach.

Aby zachować zgodność z  RFC 6749 The OAuth 2.0 Authorization Framework oczekiwana wartość parametru konfiguracji expires_in została zmieniona z ciągu znaków na liczbę całkowitą. Szczegółowe informacje znajdziesz w dokumentacji dotyczącej obsługi i konfiguracji.

188492065 Zmień Koniec obsługi Node.js 8

Od wersji 3.2.2 Node.js 8 nie będzie już obsługiwany. Więcej informacji znajdziesz w artykule Obsługiwane oprogramowanie i wersje: Edge Microgateway.

183990345 Funkcja Konfigurowanie danych wyjściowych logów w przypadku kontenera Dockera

Parametr konfiguracji Edge Microgateway to_console umożliwia wysyłanie informacji z dziennika do standardowego wyjścia zamiast do pliku dziennika. Jeśli wykonasz czynności potrzebne do uruchomienia Edge Microgateway w kontenerze Dockera, kontener domyślnie przekieruje dane wyjściowe stdout i błędy do pliku znajdującego się w kontenerze w katalogu: ${APIGEE_ROOT}/logs/edgemicro.log.

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

Szczegółowe informacje o używaniu tej nowej zmiennej znajdziesz w artykule Używanie Dockera w Edge Microgateway.

183057665 Funkcja Umożliw konfigurowanie ścieżek do plików edgemicro.pidedgemicro.sock.

Nowy parametr -w, --workdir do uruchamiania kontenera Dockera z Edge Microgateway umożliwia określenie ścieżki do katalogu, w którym powinny zostać utworzone pliki edgemicro.sock i edgemicro.pid w kontenerze Dockera. Zapoznaj się z artykułem Korzystanie z Dockera w Microgateway na Edge.

191352643 Funkcja Obraz Dockera dla Edge Microgateway został zaktualizowany, aby używać wersji NodeJS 12.22. Zapoznaj się z artykułem Korzystanie z Dockera w Microgateway na Edge.

Rozwiązano problemy z zabezpieczeniami

Identyfikator problemu Opis
CVE-2021-28860 W Node.js mixme w wersji wcześniejszej niż 0.5.1 atakujący może dodawać i zmieniać właściwości obiektu za pomocą elementu „__proto__” za pomocą funkcji mutate() i merge(). Zanieczyszczony atrybut zostanie bezpośrednio przypisany do każdego obiektu w programie. Może to narazić na ryzyko dostępność programu i spowodować potencjalny atak typu DoS (odmowa usługi).
CVE-2021-30246 W wersji pakietu jsrsasign 10.1.13 dla Node.js niektóre nieprawidłowe podpisy RSA PKCS#1 w wersji 1.5 są błędnie uznawane za prawidłowe. UWAGA: nie ma znanych ataków praktycznych.
CVE-2021-23358 Pakiet underscore w wersji 1.13.0-0 i starszych niż 1.13.0-2, 1.3.2 i starszych niż 1.12.1 jest podatny na wstrzyknięcie dowolnego kodu za pomocą funkcji szablonu, szczególnie gdy jako argument przekazywana jest zmienna, która nie jest czyszczona.
CVE-2021-29469 Node-redis to klient Redis w Node.js. Przed wersją 3.1.1, gdy klient jest w trybie monitorowania, wyrażenie regularne używane do wykrywania wiadomości monitorowania mogło powodować wykładniczy backtracking w przypadku niektórych ciągów znaków. Może to skutkować odmową świadczenia usługi. Problem został rozwiązany w wersji 3.1.1.
CVE-2020-8174 obraz Dockera został zaktualizowany, aby używać wersji Node.js 12.22

3.2.1

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.2.1. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 Błąd Rozwiązaliśmy problem, który powodował, że aplikacje nie działały, gdy klucze JWK miały wartość null.

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

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

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

W przypadku transakcji Edge Microgateway na panelu analitycznym kodów błędów Apigee Edge wyświetlano nieprawidłowe wartości liczby błędów docelowych. Kody błędów docelowych były liczone jako błędy proxy. Ten problem został rozwiązany i teraz wyświetlana jest prawidłowa liczba błędów docelowych.

179674670 Funkcja Dodaliśmy nową funkcję, która umożliwia filtrowanie listy produktów interfejsu API umieszczonych w tokenie JWT na podstawie kodów stanu produktu.

Produkty API mają 3 kody stanu: Oczekujący, Zatwierdzony i Odwołany. Do zasady Ustaw zmienne JWT w serwerze proxy edgemicro-auth dodano nową właściwość o nazwie allowProductStatus. Aby użyć tej właściwości do filtrowania produktów API wymienionych w JWT:

  1. Otwórz w edytorze proxy Apigee proxy edgemicro-auth.
  2. Dodaj do pliku XML reguły SetJWTVariables właściwość allowProductStatus i wskaż rozdzieloną przecinkami listę kodów stanu, według których chcesz filtrować. Aby na przykład filtrować według stanu OczekującyCofnięto:
    <?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, aby wyświetlane były tylko produkty zatwierdzone, ustaw tę właściwość w ten sposób:

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

    Jeśli tag Property jest nieobecny, w tokenie JWT będą wymienione produkty ze wszystkimi kodami stanu.

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

178423436 Błąd Klucze i wartości tajne przekazane w CLI lub za pomocą zmiennych środowiskowych są widoczne w argumentach wiersza poleceń Eksploratora procesów.

Zgłaszano problem polegający na tym, że klucz i wartości tajne interfejsu Edge Microgateway, które zostały przekazane z argumentów wiersza poleceń lub ustawione za pomocą zmiennych środowiskowych, były wyświetlane w argumentach procesów podrzędnych węzła po uruchomieniu interfejsu microgateway.

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

Jeśli podczas uruchamiania mikrobramki wartości klucza i klucza tajnego są przekazywane w wierszu poleceń, ustawienia zastąpią dowolne wartości zmiennych środowiskowych (jeśli zostały ustawione). W tym przypadku wartości są nadal widoczne w argumentach wiersza poleceń w programie Process Explorer.

178341593 Błąd Wprowadziliśmy poprawki w dokumentacji dotyczącej wtyczki apikeys.

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

Właściwość gracePeriod jest implementowana w pluginie oauth. Aby korzystać z okresu przejściowego, musisz użyć wtyczki oauth.

179366445 Błąd Rozwiązano problem z upuszczaniem ładunku 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 ustawisz wartość true, nagłówek żądania transfer-encoding: chunked zostanie dodany do wszystkich żądań GET, a ładunek żądania GET (jeśli występuje) zostanie wysłany do celu. Jeśli false (wartość domyślna), ładunek jest po cichu usuwany, zanim żądanie zostanie wysłane do celu.

Na przykład:

edgemicro:
 enable_GET_req_body: true

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

3.2.0

W czwartek, 21 stycznia 2021 r., udostępniliśmy te poprawki i ulepszenia dotyczące urządzenia Edge Microgateway.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.2.0. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 Błąd Włączyć wtyczkę extauth, aby nagłówek x-api-key zawierał wartość client_id w obiekcie żądania, gdy token jest prawidłowy. x-api-key będzie wtedy dostępny dla kolejnych wtyczek.
168836123, 172295489, 176462355, 176462872 Funkcja Dodano obsługę Node.js 14.
172376835 Błąd Użyj odpowiedniej jednostki czasu dla punktu końcowego /token w proxy edgemicro-auth.

Rozwiązano problem, w ramach którego punkt końcowy /token w proxy edgemicro-auth zwracał expires_in w milisekundach. Zgodnie z specyfikacją OAuth powinna to być jednostka czasu refresh_token_expires_in, czyli sekundy.

Ta poprawka nie zmienia długości okresu ważności, tylko jednostkę czasu. Dotyczy ono tylko pola expires_in w ładunku odpowiedzi dotyczącej tokena dostępu. Token JWT w tym samym ładunku odpowiedzi zawierałby 2 pola: iatexp. Są one generowane prawidłowo i zawsze były generowane z jednostką czasu seconds.

Jeśli klienci korzystali z wartości expires_in w milisekundach do odświeżania tokenów przed ich wygaśnięciem, zastosowanie tej poprawki bez modyfikowania klientów spowodowałoby znacznie częstsze i niepotrzebne odświeżanie. Aby zachować pierwotne działanie, te klienci będą musieli zostać zmodyfikowani w celu uwzględnienia zmiany jednostki czasu.

Jeśli klienci zawsze używali wartości w tokenie JWT do oceny okresu odświeżania tokena, nie muszą nic zmieniać.

173064680 Błąd Rozwiązano problem, który powodował zakończenie przez mikrobramę żądania docelowego przed przetworzeniem wszystkich fragmentów danych.

Jest to sporadyczny problem występujący w przypadku żądań o dużym rozmiarze ładunku. Problem pojawił się w wersji 3.1.7.

174640712 Błąd Dodaj do wtyczek odpowiednie zasady postępowania z danymi.

W pluginach json2xml, accumulate-request, accumulate-responseheader-uppercase dodano prawidłowe przetwarzanie danych. Szczegółowe informacje o wtyczkach znajdziesz w artykule 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. wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.8. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 Błąd Wartości liczbowe i wartości logiczne zostały nieprawidłowo przeanalizowane w tagach zmiennych środowiskowych.

Obsługa zastępowania zmiennych środowiskowych analizowała wszystkie wartości jako ciągi tekstowe, co powodowało błędy analizowania w przypadku wartości logicznych lub liczbowych. Na przykład parametr edgemicro.port wymaga wartości liczbowej. Wprowadziliśmy poprawki, aby obsługiwać wartości logiczne i liczbowe. Szczegółowe informacje o konfiguracji znajdziesz w artykule Ustawianie atrybutów konfiguracji za pomocą wartości zmiennych środowiskowych.

169202749 Błąd W niektórych przypadkach zastępowanie zmiennych środowiskowych nie działało.

Zastępowanie zmiennych środowiskowych nie działało w przypadku niektórych atrybutów konfiguracji. Informacje o ograniczeniach znajdziesz w artykule Ustawianie atrybutów konfiguracji za pomocą wartości zmiennych środowiskowych.

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

W procesie /token w serwerze proxy edgemicro-auth generowane są tokeny JWT bez właściwych zakresów usług zdefiniowanych w Edge w wyniku 2 różnych scenariuszy: 1) ładunek żądania do procesu /token nie zawierał parametru zakresu lub 2) w ładunku żądania do procesu /token podano nieprawidłowy zakres. Wprowadziliśmy poprawkę, aby zwracać wszystkie zakresy zdefiniowane w usługach API w Apigee Edge.

170609716 Błąd Rozwiązaliśmy problem polegający na tym, że w procesie /refresh w proxy edgemicro-auth generowany był token JWT bez elementu apiProductList.

170708611 Błąd Zakresy usług interfejsu API są niedostępne dla wtyczek niestandardowych.

Zakresy produktów interfejsu API nie były dostępne dla wtyczek niestandardowych ani nie były zapisywane w pliku konfiguracji pamięci podręcznej. Aby dowiedzieć się, jak udostępnić szczegóły zakresu wtyczkom, przeczytaj artykuł Informacje o funkcji init() wtyczki.

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

Klucz i klucz tajny Edge Microgateway były zapisywane w pliku konfiguracji pamięci podręcznej yaml przy każdym wczytaniu lub uruchamianiu. W wersji 3.1.8 klucz i sygnatura nie są już zapisywane w pliku konfiguracji pamięci podręcznej. Jeśli klucz i tajny klucz został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 mikrobramki wtyczka analityczna była domyślnie włączona i nie można było jej wyłączyć. W wersji 3.1.8 dodano nowy parametr konfiguracji enableAnalytics, który umożliwia włączenie lub wyłączenie wtyczki Analytics. Szczegółowe informacje znajdziesz w dokumentacji dotyczącej konfiguracji.

159571119 Błąd Występuje błąd null w haku onerror_request w niestandardowych wtyczkach w przypadku odpowiedzi lub przekroczenia limitu czasu gniazda.

Wprowadziliśmy poprawki, aby wypełnić poprawny kod stanu HTTP i komunikat o błędzie dla zdarzeń onerror_request oraz poprawny komunikat o błędzie dla zdarzeń onerror_response.

3.1.7

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.7. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 Błąd Wtyczka analytics nieprawidłowo obsłużyła odpowiedź null z wywołań axpublisher, co spowodowało zamknięcie instancji roboczych.

133162200 Błąd Informacje o aplikacji dewelopera nie zostały wypełnione w statystykach. Wystąpiły odpowiedzi o stanie 403 spowodowane nieautoryzowanymi ścieżkami zasobów produktu lub odpowiedzi 401 spowodowane nieważnym lub wygasłym tokenem.

132194290 Błąd Rekordy Analytics są odrzucane, gdy Apigee Edge odrzuca niektóre rekordy analityczne.

158618994 Błąd Nadmierne połączenia klienta Redis.

161404373 Błąd W przypadku odpowiedzi z kodem stanu 404 w wiadomości odpowiedzi został uwzględniony pełny adres URI serwera proxy.
166356972 Błąd

Uruchomienie Edge Microgateway z wersją Node.js 12.13.x lub nowszą spowodowało ten błąd podczas wykonywania wtyczek, które przekształcają ładunek żądania:

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

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

149256174 Błąd Błędy w pliku plugina OAuth nie zostały zapisane w przypadku błędów sieci.

166517190 Błąd Dane jwk_public_keys nie zostały pobrane przez Synchronizer i zapisane w Redis.

141659881 Błąd Obsługa błędów nieprawidłowego certyfikatu docelowego wyświetlała wprowadzające w błąd odpowiedzi.

142808699 Błąd Wtyczka accesscontrol nie obsługiwała poprawnie sekcji „allow” i „deny”.

Mikrobramka poprawnie przetwarza sekcję odmowy i przestrzega kolejności sekcji „allow” (zezwalaj) i „deny” (odmów). Do pliku konfiguracji mikrobramki dodano nową właściwość noRuleMatchAction, aby zapewnić zgodność z zasadami kontroli dostępu Apigee Edge. Zapoznaj się też z README dotyczącą wtyczki kontroli dostępu na GitHubie.

3.1.6

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.1.6. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 niestandardowej lokalizacji pliku klucza i certyfikatu dla polecenia rotatekey.

Szczegółowe informacje o tych nowych opcjach polecenia znajdziesz w artykule Rotacja kluczy.

154838259 Błąd Rozwiązanie problemu z rotacją kluczy w przypadku wielu instancji w wielu centrach danych

Szczegółowe informacje o tych nowych opcjach polecenia znajdziesz w artykule Rotacja kluczy.

145525133 Funkcja w wersji alfa Nowe dane dotyczące wtyczki

Szczegółowe informacje znajdziesz w pliku README z nowymi metrykami w pluginach na GitHubie.

159396879 Błąd Usuwanie nieużywanych pakietów za pomocą narzędzia Helper
161092943 Błąd Nieprawidłowa weryfikacja ścieżki podstawowej

Przed wersją 3.1.6 dopasowywanie ścieżki podstawowej serwera proxy było nieprawidłowe, gdy ścieżka podstawowa nie kończyła się znakiem /.

Poniżej znajdziesz więcej informacji o poprzednim zachowaniu (które zostało poprawione w wersji 3.1.6):

Załóżmy, że serwer proxy jest skonfigurowany z ścieżką podstawową /hello/v1 i ścieżką docelową https://mocktarget.apigee.net. Załóżmy, że serwer pośredniczący otrzymuje te żądania:

Ścieżka żądania Rozwiązana ścieżka Wynik
/hello/v1/json https://mocktarget.apigee.net/json Rozwiązana ścieżka jest prawidłowa, ponieważ ścieżka podstawowa /hello/v1jest poprawnie dopasowana.
Ścieżka żądania Rozwiązana ścieżka Wynik
/hello/v1json https://mocktarget.apigee.netjson Rozwiązana ścieżka jest nieprawidłowa, ponieważ /hello/v1 jest podciągiem ciągu znaków /hello/v1json. Ponieważ /hello/v1json nie jest prawidłową ścieżką, Edge Microgateway powinien zwrócić błąd 404. W wersji 3.1.6 i nowszych w takim przypadku jest wywoływany błąd 404.
160431789 Błąd Wtyczki niestandardowe – obiekt config przekazany do init nie jest wypełniony

Konfiguracja Apigee Edge jest udostępniana w obiekcie konfiguracji wszystkich wtyczek niestandardowych po połączeniu z plikiem konfiguracji Edge Microgateway. Zobacz plik konfiguracji.

162758808 Błąd Nowa konfiguracja limitu dla magazynu pomocniczego Redis

Aby określić magazyn pomocniczy Redis dla limitów, możesz użyć tej konfiguracji. Więcej informacji znajdziesz w artykule Korzystanie z magazynu pomocniczego Redis do obsługi limitów.

3.1.5

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.5. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 wykluczająca przetwarzanie wtyczki

Dodano nową funkcję konfiguracji, która umożliwia pominięcie przetwarzania wtyczek w przypadku określonych adresów URL. Więcej informacji znajdziesz w artykule Konfigurowanie adresów URL do wykluczenia dla wtyczek.

156986819, 158529319 Błąd Rozwiązaliśmy problemy z wtyczką json2xml

Rozwiązano problemy polegające na tym, że w niektórych przypadkach wtyczka generowała zduplikowane nagłówki Content-Type i nie wysyłała nagłówków do miejsca docelowego zgodnie z oczekiwaniami.

156560067, 159688634 Funkcja

Używanie wartości zmiennych środowiskowych w konfiguracji

Dodano funkcję, która umożliwia określenie zmiennych środowiskowych za pomocą tagów w pliku konfiguracyjnym. Tagi określonej zmiennej środowiskowej są zastępowane rzeczywistymi wartościami zmiennej środowiskowej. Zastępcze wersje są przechowywane tylko w pamięci, a nie w pliku konfiguracji ani pliku pamięci podręcznej. Więcej informacji znajdziesz w artykule Ustawianie atrybutów konfiguracji za pomocą wartości zmiennych środowiskowych.

155077210 Błąd Naprawiono problem z formatowaniem dziennika.

Rozwiązaliśmy problem polegający na tym, że w dziennikach host docelowy pojawiał się z niepotrzebnymi dwukropkami.

153673257 Błąd

(dotyczy tylko Edge dla Private Cloud) produkty korzystające z mikrobram nie zostały wycofane

Rozwiązaliśmy problem polegający na tym, że produkty obsługujące mikrobramki nie były pobierane. Ten problem występował tylko w przypadku instalacji Edge for Private Cloud.

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

Szczegółowe informacje znajdziesz w artykule Filtrowanie produktów według atrybutów niestandardowych.

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

Poprawiono obsługę wyjątków, aby przechwytywać błędy i wyświetlać komunikaty w konsoli.

155499600 Błąd Rozwiązano problemy z rotacją kluczy i uaktualnieniem KVM

Zobacz też Rotacja kluczy JWT.

3.1.4

W piątek 23 kwietnia 2020 r. wprowadziliśmy w Edge Microgateway następującą poprawkę.

Poprawka błędu:

Rozwiązano problem z zależnością w wersji 3.1.3. Wersja 3.1.3 została oznaczona jako wycofana w repozytorium npm. W tej wersji obowiązują wszystkie poprawki błędów i ulepszenia opisane w informacjach o wersji 3.1.3.

3.1.3

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.3. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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ązano problem, który powodował wycieki pamięci w module debugowania Node.js. Problem występuje w wersjach 3.1.0, 3.1.1 i 3.1.2.
  • 153509313 – rozwiązano problem polegający na tym, że w wyniku logowania był drukowany ten sam identyfikator wiadomości dla 2 różnych transakcji.
  • 151673570 – rozwiązano problem polegający na tym, że Edge Microgateway nie został zaktualizowany, aby używać nowych interfejsów API Apigee KVM. Urządzenie Edge Microgateway używa teraz nowych poleceń do dodawania i aktualizowania wartości KVM.
  • 152822846 – w poprzednich wersjach Microgateway na krawędzi zostało zaktualizowane, aby przetwarzanie mapowania ścieżki zasobów było zgodne z Apigee Edge. W tej wersji rozwiązujemy problem polegający na nieprawidłowej obsłudze wzorca /literal_string/*. Na przykład:/*/2/*. Zobacz też Konfigurowanie działania ścieżki zasobu „/”, „/*” i „/**”.
  • 152005003 – wprowadziliśmy zmiany, aby umożliwić stosowanie identyfikatorów ograniczonych do organizacji i środowiska w przypadku limitów.
  • 152005003 – wprowadziliśmy zmiany, aby umożliwić stosowanie identyfikatorów ograniczonych do organizacji i środowiska w przypadku limitów. Jako identyfikator limitu jest używana kombinacja „org + env + appName + productName”.

3.1.2

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.3. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 – Wprowadziliśmy ulepszenie funkcji, aby dodać obsługę serwera proxy HTTP dla ruchu między Edge Microgateway a docelowymi backendami. Ponadto rozwiązaliśmy problemy z obsługą istniejącego serwera proxy HTTP między Edge Microgateway a Apigee Edge. Więcej informacji:
  • 149101890 – zmieniono kod powiadomienia w dzienniku w przypadku, gdy serwer docelowy lub równowaznik obciążenia zamyka połączenie, z ERROR na INFO.
  • 150746985 – rozwiązano problem, który powodował, że polecenie edgemicro verify nie działało prawidłowo, jeśli w pliku konfiguracyjnym znajdowały się opcje redisBasedConfigCache: true lub quotaUri: https://%s-%s.apigee.net/edgemicro-auth.
  • 151284716 – Wprowadziliśmy ulepszenie, które pozwala szybciej zamykać połączenia z serwerem, gdy procesy są uruchamiane ponownie podczas ponownego wczytywania.
  • 151588764 – Zaktualizuj wersję Node.js w obrazie Dockera używanym do uruchamiania Edge Microgateway w kontenerze Dockera do wersji 12, ponieważ wycofano wersję 8 Node.js.
  • 151306049 – w dokumentacji uwzględniono interfejsy API do zarządzania Apigee Edge, których używają polecenia wiersza poleceń Edge Microgateway. Zobacz Jakich interfejsów API do zarządzania używa Edge Microgateway?.

3.1.1

W czwartek, 20 lutego, udostępniliśmy te poprawki i ulepszenia dotyczące Edge Microgateway.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.1. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 – rozwiązano problem polegający na tym, że moduł microgateway-core nie uwzględniał zmiennych środowiskowych HTTP_PROXY i HTTPS_PROXY. W związku z tą zmianą ustawienia serwera proxy w pliku konfiguracji YAML (jeśli są określone) są teraz ignorowane. Do określenia serwera proxy służą tylko zmienne środowiskowe.

    Jeśli chcesz określić konfigurację serwera proxy w pliku konfiguracyjnym, musisz też podać zmienną HTTP_PROXY, która zawiera ten sam adres URL serwera proxy co plik konfiguracji. Jeśli na przykład określisz 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 oczekiwania (w milisekundach), jaki będzie trwało parsowanie HTTP do momentu otrzymania pełnych nagłówków HTTP. Na przykład:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    Wewnętrznie parametr ustawia atrybut Node.js Server.headersTimeout w żądaniach. (domyślnie: o 5 sekund dłużej niż czas ustawiony za pomocą parametru edgemicro.keep_alive_timeout). To domyślne ustawienie zapobiega błędnemu rozłączaniu połączeń przez systemy równoważenia obciążenia lub serwery proxy.

  • 149278885 – Dodano nową funkcję, która umożliwia ustawienie docelowego limitu czasu interfejsu API na poziomie serwera proxy interfejsu API zamiast korzystania z jednego globalnego ustawienia limitu czasu.

    Jeśli w interfejsie proxy API ustawisz właściwość PunktKierunkuio.timeout.millis, Edge Microgateway będzie mogła pobrać tę właściwość i zastosować limity czasu określone dla docelowego punktu końcowego. Jeśli ten parametr nie zostanie zastosowany, Edge Microgateway użyje globalnego limitu czasu określonego za pomocą parametru edgemicro.request_timeout.

3.1.0

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.1.0. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 – gdy zostanie uruchomiona flaga quotas.failOpen, zostanie zarejestrowane nowe zdarzenie o poziomie ostrzegania. Ten parametr jest uruchamiany, jeśli wystąpi błąd przetwarzania limitu lub jeśli żądanie „apply quota” (zastosuj limit) do Edge nie zaktualizuje zdalnych liczników limitu. W takim przypadku limit będzie przetwarzany na podstawie lokalnych wartości tylko do czasu następnej zdalnej synchronizacji limitu. Wcześniej to zdarzenie było rejestrowane tylko wtedy, gdy poziom logowania był ustawiony na DEBUG.

    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 dotyczył transakcji w trakcie wykonywania lub nowych transakcji, gdy Edge Microgateway wykrywał zmianę w interfejsie API. Gdy teraz wprowadzisz zmianę w serwerze proxy, Edge Microgateway odświeży pamięć podręczną, a węzły robocze zostaną ponownie uruchomione. Ta zmiana nie ma wpływu na transakcje w trakcie realizacji oraz nowe wywołania interfejsu API wysyłane do mikrobramki.
  • 146378327 – poziom logowania sourceRequest, targetRequest i targetResponse został zmieniony na INFO.
  • 146019878 – Usunięto rozbieżność między czasem oczekiwania obliczanym w ramach funkcji „Wydajność serwera proxy API” w statystykach Edge a zdarzeniami w dzienniku sourceResponse/targetResponse serwera Edge Microgateway. Opóźnienie w danych analitycznych Edge i zdarzeniach z dziennika Microgateway jest teraz zgodne.
  • Zmiany związane z logiką dopasowania wzorców:
    • 147027862 – wtyczka OAuth została zaktualizowana, aby obsługiwać te ścieżki zasobów: dopasowujące wzorce określone w produktach interfejsu API:
      • /{literal}**
      • /{literal}*
      • Dowolna kombinacja 2 wymienionych powyżej wzorów

      Dzięki tej zmianie wtyczka Edge Microgateway stosuje teraz to samo dopasowywanie wzorca co Apigee Edge, jak opisano w sekcji Konfigurowanie zachowania ścieżki zasobu „/”, „/*” i „/**”.

    • 145644205 – zaktualizuj logikę dopasowywania wzorca w pliku .py apiKeys, aby pasowała do pliku .py oauth.
  • 143488312 – rozwiązano problem, w którym spacje na początku lub na końcu parametru clientID powodowały, że lista produktów JWT była pusta w przypadku żądań tokena OAuth i klucza API.
  • 145640807 i 147579179 – dodano nową funkcję, która umożliwia specjalnemu wystąpieniu Edge Microgateway o nazwie „synchronizator” pobieranie danych konfiguracji z Apigee Edge i zapisywanie ich w lokalnej bazie danych Redis. Inne instancje mikrobramki można skonfigurować tak, aby odczytywały dane konfiguracji z bazy danych. Ta funkcja zwiększa odporność Edge Microgateway. Umożliwia uruchamianie i działanie instancji mikrobramki bez konieczności komunikowania się z Apigee Edge. Szczegółowe informacje znajdziesz w artykule Korzystanie z synchronizatora.

    Funkcja synchronizatora jest obecnie obsługiwana w 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, wprowadziliśmy w Edge Microgateway następujące poprawki i ulepszenia.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.10. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 – wprowadziliśmy aktualizację funkcji, dzięki której dopasowywanie wzorca ścieżki zasobu używane w produktach API dla Edge Microgateway jest teraz zgodne z dopasowywaniem wzorca ścieżki zasobu używanym przez Apigee Edge, zgodnie z opisem w artykule Konfigurowanie zachowania ścieżki zasobu '/', '/*' i '/**'.

    Uwaga: jeśli używasz złożonego wzorca zasobu, takiego jak /*/2/**, musisz się upewnić, że element zastępczy edgemicro_auth został dodany do samodzielnego produktu interfejsu API. Następnie musisz uwzględnić ten produkt w aplikacji dla deweloperów usługi proxy, jak pokazano na poniższym zrzucie ekranu:

    alt_text

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

  • 143740696 – zmieniła się struktura konfiguracji quotas (patrz też informacje o wersji 3.0.9). Właściwość quotas służy do konfigurowania wtyczki dotyczącej limitów. Zmiana struktury została wprowadzona w celu zwiększenia przejrzystości elementów konfiguracji. Aby skonfigurować wtyczkę limitu, użyj tej konfiguracji YAML. Pamiętaj, że właściwość konfiguracji nosi nazwę quotas. Szczegółowe informacje o poszczególnych właściwościach konfiguracji quotas znajdziesz w artykule Opcje konfiguracji dotyczące limitu.

    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 korzystanie z Redis jako magazynu danych wspierającego limit. Jeśli useRedis ma wartość prawda, używany jest moduł volos-quota-redis. Jeśli jest to wartość prawda, limit jest ograniczony tylko do tych instancji Edge Microgateway, które łączą się z Redis. Jeśli wartość to false, jako magazyn podrzędny jest używany moduł volos-quota-apigee, a licznik limitu jest globalny. Więcej informacji znajdziesz w artykule Konfigurowanie opcji dotyczącej limitu. Na przykład:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210 – domyślny czas ważności tokenów generowanych przez serwer proxy edgemicro-auth został zmieniony z 108 000 ms (1,8 minuty) na 1800 sekund (30 minut).
  • 143551282 – aby umożliwić obsługę organizacji z włączonym SAML, zaktualizowaliśmy polecenie edgemicro genkeys, aby zawierało parametr ‑‑token. Ten parametr umożliwia używanie tokena OAuth do uwierzytelniania zamiast nazwy użytkownika i hasła. Więcej informacji znajdziesz w artykule Generowanie kluczy.

3.0.9

W piątek 11 października wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.0.9. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 dotyczącej limitów dodano nową funkcję „fail open”. Jeśli ta funkcja jest włączona, w przypadku błędu podczas przetwarzania limitu lub nieudanego zaktualizowania przez Edge liczników limitu zdalnego żądanie „apply quota” będzie przetwarzane tylko na podstawie lokalnych wartości do momentu następnej pomyślnej synchronizacji limitu zdalnego. W obu tych przypadkach w obiekcie żądania ustawiony jest parametr quota-failed-open.

    Aby włączyć funkcję „fail open” dotyczącą limitów, użyj tej konfiguracji:

    quotas :
     failOpen : true

    Uwaga: zmieniliśmy też nazwę flagi obiektu żądania fail-open w pliku plugina OAuth na oauth-failed-open.

  • 142093764 – w celu zapobiegania przekroczeniu limitu dokonano zmiany konfiguracji serwera proxy edgemicro-auth. Zmiana polega na ustawieniu typu limitu na calendar. Aby korzystać z tego ulepszenia, musisz zaktualizować edgemicro-auth do wersji 3.0.7 lub nowszej.
  • 142520568 – dodano nową funkcję, która umożliwia rejestrowanie identyfikatora MP (procesora wiadomości) w odpowiedziach na limity. Aby korzystać z tej funkcji, musisz zaktualizować edgemicro-auth do wersji 3.0.7 lub nowszej i ustawić tę konfigurację:
    quotas:
      useDebugMpId: true

    Gdy parametr useDebugMpId jest ustawiony, 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, wprowadziliśmy w Edge Microgateway następujące poprawki i ulepszenia.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.0.8. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 wywołanie weryfikacji klucza interfejsu API do serwera proxy edgemicro-auth.

    Ta funkcja umożliwia ustawienie okresu przejściowego, w którym stary token pozostaje w pamięci podręcznej i jest ponownie używany do czasu wygaśnięcia okresu przejściowego. Ta funkcja umożliwia Edge Microgateway kontynuowanie przetwarzania żądań w przypadku tymczasowego błędu połączenia. Gdy połączenie zostanie przywrócone i wywołanie metody Verify API Key zakończy się powodzeniem, zostanie pobrany nowy token JWT, który zastąpi stary token JWT w pamięci podręcznej.

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

    1. W wierszu oauth w pliku konfiguracji Edge Microgateway ustaw te właściwości:
      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 zwrócony zostanie błąd uwierzytelniania.

  • 141168968 – w wszystkich danych wyjściowych z dziennika wtyczki uwzględniono parametr correlation_id. Dodatkowo w razie potrzeby zmieniono poziomy logowania niektórych dzienników na error.
  • 140193349 – wprowadziliśmy zmianę w proxy edgemicro-auth, aby wymagać weryfikacji klucza i tajemnego klucza Edge Microgateway w przypadku każdego żądania weryfikacji klucza API. Edge Microgateway został zaktualizowany, aby zawsze wysyłać klucz i klucz tajny w każdym żądaniu weryfikacji klucza interfejsu API. Ta zmiana uniemożliwia klientom uzyskiwanie tokena JWT przy użyciu tylko klucza interfejsu API.
  • 140090250 – wprowadzono aktualizację, aby dodać rejestrowanie diagnostyczne do przetwarzania limitu. Dzięki tej zmianie można teraz porównywać dane wyjściowe z logu quoto z pozostałymi logami z mikrobramki Edge.

3.0.7

W czwartek, 12 września, wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

Wersje komponentów:

Poniższa tabela zawiera numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway w wersji 3.0.7. Pamiętaj, że każda część jest osobnym projektem, dlatego numery wersji mogą nie pasować do wersji głównej produktu:

microgateway core 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 – w pluginie OAuth wprowadzono poprawkę, aby zwracał on kod stanu 5xx w odpowiednich przypadkach. Wcześniej w przypadku wszystkich kodów stanu innych niż 200 wtyczka zwracała tylko kody stanu 4xx. Teraz w przypadku każdej odpowiedzi, która nie ma stanu 200, zwracany jest 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 mikrobramki Edge. 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 za pomocą serwera proxy edgemicro-authwdrożonego w Twojej organizacji. Jeśli ta właściwość nie jest ustawiona, punkt końcowy limitu jest domyślnie ustawiany na wewnętrzny punkt końcowy Edge Microgateway. Na przykład:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    W wersji 3.0.7 funkcja edgemicro-auth została zaktualizowana, aby akceptowała tę nową konfigurację. Aby korzystać z usługi quotaUri, musisz przejść na najnowszą wersję serwera proxy edgemicro-auth. Szczegółowe informacje znajdziesz w artykule Aktualizowanie serwera proxy edgemicro-auth.

  • 140470888 – do wywołań dotyczących limitów dodano nagłówek autoryzacji, aby umożliwić uwierzytelnianie. Ponadto serwer proxy edgemicro-auth został zmodyfikowany, aby usunąć z identyfikatora limitu „organization”. Punkt końcowy limitu znajduje się w organizacji klienta, więc identyfikator limitu nie jest już potrzebny.
  • 140823165 – nazwa tej właściwości:
    edgemicro:
        keepAliveTimeout

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

    edgemicro:
        keep_alive_timeout
  • 139526406 – Naprawiliśmy błąd, który powodował nieprawidłowy limit, jeśli aplikacja dewelopera miała wiele produktów. Limit jest teraz prawidłowo egzekwowany w przypadku każdego produktu w aplikacji, która zawiera wiele produktów. Kombinacja „nazwaAplikacji + nazwaProduktu” jest używana jako identyfikator limitu.

3.0.6

W czwartek, 29 sierpnia, wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

  • 138633700 – dodano nową właściwość konfiguracji keepAliveTimeout. Ta właściwość umożliwia ustawienie limitu czasu Edge Microgateway (w milisekundach). (wartość domyślna: 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 za pomocą serwera proxy edgemicro-auth, który jest używany w Twojej organizacji. Jeśli ta właściwość nie jest ustawiona, punkt końcowy limitu jest domyślnie ustawiany na wewnętrzny punkt końcowy Edge Microgateway. Na przykład:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Aby korzystać z tej funkcji, musisz najpierw wdrożyć najnowszą wersję serwera proxy edgemicro-auth w swojej organizacji. Szczegółowe informacje znajdziesz w artykule Uaktualnianie serwera proxy edgemicro-auth.

  • 138722809 – dodano nową właściwość konfiguracji stack_trace. Ta właściwość umożliwia określenie, czy ścieżki sterowania mają być widoczne w plikach dziennika. Na przykład:
    stack_trace: false

    Jeśli stack_trace ma wartość true, ścieżka pakietu będzie wydrukowana w dziennikach. Jeśli ma wartość false, ścieżka pakietu nie będzie drukowana w dziennikach.

3.0.5

W czwartek, 15 sierpnia, wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

Poprawione błędy
  • 139005279 – rozwiązano problem polegający na tym, że polecenie edgemicro status nie zwracało prawidłowej liczby procesów roboczych.
  • 138437710 – rozwiązano problem w klasie ExitCounter, który uniemożliwiał prawidłowe zapisywanie dziennika.
Ogólne ulepszenia komunikatów w dzienniku
  • 139064652 – dodano możliwość dodawania poziomów rejestrowania trace i debug w przypadku logów zdarzeń i systemowych. Na razie dodano tylko możliwość dodawania tych poziomów logowania. Obecnie dostępne poziomy logowania to info, warn i error.
  • 139064616 – dane wyjściowe logów zostały ujednolicone w przypadku wszystkich instrukcji logowania w konsoli. W oświadczeniach logowania konsoli uwzględniane są teraz te atrybuty:
    • Sygnatura czasowa
    • Nazwa komponentu
    • Identyfikator procesu
    • Komunikat w logach konsoli
Ulepszenia dotyczące klucza i tajnego tokena JWT w wiadomościach logowania
  • 138413755 – Ulepszone komunikaty dziennika dotyczące klucza JWT i tajemnicy w przypadku tych poleceń wiersza poleceń: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey i configure.
Ulepszenia komunikatów o błędach związanych z limitem czasu i odmową połączenia
  • 138413577 – dodanie i ulepszenie obsługi błędów w przypadku limitu czasu usługi backendu.
  • 138413303 – dodanie i ulepszanie obsługi błędów w przypadku odpowiedzi i przerwania połączenia.
  • 138414116 – dodanie i ulepszanie obsługi błędów „connection refused” (połączenie odrzucone).

3.0.4

W czwartek, 1 sierpnia, udostępniliśmy te poprawki i ulepszenia dotyczące Edge Microgateway.

  • 134445926 – Ulepszenia dotyczące wewnętrznego uwierzytelniania w usłudze Edge Microgateway.
  • 137582169 – rozwiązano problem z uruchamianiem niechcianych procesów. Te dodatkowe procesy powodowały przeładowywanie wtyczek i nadmierne zużycie pamięci. Edge Microgateway utrzymuje teraz liczbę procesów w oczekiwanym limicie.
  • 137768774 – Ulepszenia komunikatów w dzienniku:
    • Wyczyszczono dzienniki transakcji (żądań).
    • W razie potrzeby dodano więcej komunikatów dziennika.
    • Przeniesienie komunikatów z logu transakcji (żądania) z wyjścia konsoli do odpowiedniego pliku logu.
    • Zaktualizowaliśmy logi konsoli, aby używały scentralizowanej funkcji rejestrowania.
  • 138321133, 138320563 – Podstawowa wewnętrzna zmiana bufora limitu, aby umożliwić przyszłe ulepszenia limitu.

3.0.3

We wtorek, 23 lipca, udostępniliśmy te poprawki i ulepszenia dotyczące Edge Microgateway.

  • Ulepszenia logowania: istniejące dzienniki czasu wykonywania korzystają z nowej funkcji eventLog(), która rejestruje i zapisują dane z czasu wykonywania w spójnym formacie. Informacje z dziennika obejmują:
    • Sygnatura czasowa (ISO 8601: RRRR-MM-DDTHH:mm:ss.sssZ).
    • Poziom dziennika (error, warn lub info).
    • Nazwa hosta – nazwa hosta z nagłówka żądania.
    • Identyfikator procesu – jeśli używasz klastra procesów Node.js, jest to identyfikator procesu, w którym wystąpiło rejestrowanie.
    • Nazwa organizacji w Apigee.
    • Nazwa środowiska w organizacji.
    • Nazwa serwera proxy interfejsu API.
    • Adres IP klienta.
    • ClientId.
    • Identyfikator korelacji (obecnie nie ustawiony).
    • Nazwa komponentu Edge Microgateway.
    • Komunikat niestandardowy – niektóre obiekty mogą drukować dodatkowe informacje przekazywane do tej właściwości błędu.
    • Metoda żądania (jeśli żądanie jest w formacie HTTP).
    • Kod stanu odpowiedzi (jeśli żądanie to HTTP).
    • Komunikat o błędzie.
    • Kod błędu – jeśli obiekt zawiera kod błędu, jest on drukowany w tej właściwości.
    • Czas wykonania.
    • System operacyjny znak końca wiersza.

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

    Przykładowy format pliku dziennika:

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

    (137770055)

  • Wydajność: produkty interfejsu API nie były filtrowane na podstawie środowiska. Ten problem został rozwiązany. (135038879)
  • różne integracje testów funkcjonalnych i usprawnienia dotyczące jakości kodu.

3.0.2

W środę, 3 lipca 2019 r., udostępniliśmy te poprawki i ulepszenia dotyczące Edge Microgateway.

Jakość kodu – sprawdzono jakość kodu i wprowadzono w nim zmiany, aby spełniał wymagania użytkowników dotyczące jakości. Usunęliśmy błędy i ostrzeżenia dotyczące jakości kodu pochodzące z JSHint. W efekcie udało się wykryć i naprawić niektóre błędy w kodzie. Wszystkie moduły Apigee Edge Microgateway przeszły przez ten proces. Zobacz commity z 28 czerwca i 2 lipca dla usług: microgateway-config, microgateway-core, microgateway-plugins i microgateway. Wszystkie moduły z modyfikacjami jakości kodu zostały przetestowane za pomocą wewnętrznych narzędzi, które weryfikują działanie Edge Microgateway w przypadku zastosowań przez klientów.

3.0.1

W piątek 21 czerwca 2019 r. wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia.

  • 134834551 – Zmiana obsługiwanych wersji Node.js na potrzeby Edge Microgateway
    (obsługiwane wersje Node.js: 8 i 12; wersje 7, 9 i 11 są eksperymentalne)
  • 134751883 – Edge Microgateway ulega awarii podczas ponownego wczytywania pod obciążeniem
  • 134518428 – punkt końcowy produktów w przypadku Edge Microgateway zwraca kod 5XX, jeśli wzór filtra jest nieprawidłowy
  • 135113408 – instancje robocze powinny się ponownie uruchomić, jeśli zostaną nieoczekiwanie zakończone
  • 134945852 – w pluginie OAuth nie jest używana wartość tokenCacheSize
  • 134947757 – ustawienie czasu przechowywania w pamięci podręcznej w pluginie OAuth
  • 135445171 – obliczenie okresu przejściowego w protokole OAuth jest nieprawidłowe
  • Użyj zapamiętanego modułu dostarczonego z instalacją Edge Microgateway.
  • 135367906 – Audyt bezpieczeństwa

Wersja 2.5.x

Nowe funkcje i ulepszenia w wersji 2.5.x

(Poprawka 2.5.38, 07.06.2019)

Nieprawidłowo sformatowane tokeny JWT mogą powodować awarie procesów roboczych podczas używania pamięci podręcznej tokenów. Naprawiono w module Edge microgateway-plugins. (b/134672029)

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

Opcja edgemicro cert -t umożliwia określenie tokena OAuth, który będzie używany do uwierzytelniania interfejsów API zarządzania. Zobacz też Zarządzanie certyfikatami.

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

Flagi mgdebug możesz używać z poleceniem edgemicroctl. Zobacz też zadania integracji z Kubernetesem.

(Dodano w wersji 2.5.35) Włącz wersję dla systemu Windows dla edgemicroctl.

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

Dodano nowy interfejs API edgemicro-auth/token, który umożliwia przekazanie wartości client/secret jako zakodowanego w formacie Base64 nagłówka Basic Authorization, a wartości grant_type jako parametru formularza. Zobacz artykuł Uzyskiwanie tokenów płatniczych bezpośrednio.

(Poprawiono w wersji 2.5.31) Konfiguracja prywatna nie uwzględnia flagi tokenu

Rozwiązaliśmy problem, który powodował, że konfigurowanie Edge Microgateway do używania tokena dostępu OAuth2 w Edge for Private Cloud nie działało prawidłowo (token nie był uwzględniany).

Docker: obsługa samodzielnie podpisanych certyfikatów

(Dodano 2.5.29) Jeśli używasz urzędu certyfikacji, który nie jest zaufany domyślnie przez Node.js, możesz użyć parametru NODE_EXTRA_CA_CERTS podczas uruchamiania kontenera Dockera z Edge Microgateway. Szczegółowe informacje znajdziesz w artykule Korzystanie z usług certyfikatów CA, którym nie ufa Node.js.

Docker: obsługa TLS

(Dodano 2.5.29) Edge Microgateway działający w kontenerze Dockera obsługuje teraz TLS w przypadku przychodzących żądań do serwera Edge Microgateway (żądań przychodzących) oraz wychodzących żądań z Edge Microgateway do aplikacji docelowej (żądań wychodzących).

W poniższych przykładach szczegółowo opisujemy konfigurowanie tych konfiguracji TLS:

Z tych przykładów dowiesz się, jak użyć punktu zamontowania kontenera /opt/apigee/.edgemicro, aby załadować certyfikaty, do których odwołuje się plik konfiguracji Edge Microgateway.

Docker: obsługa przekierowania żądań

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

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Więcej informacji znajdziesz w artykule Uruchamianie Edge Micro jako kontenera Dockera.

Docker: zaktualizowane instrukcje dotyczące wtyczki

(Dodano 2.5.27) Jeśli używasz Edge Microgateway w kontenerze Docker, masz teraz 2 opcje wdrażania wtyczek. Jedną z nich jest użycie punktu zamontowania Dockera. Druga opcja istniała już wcześniej i nie uległa zasadniczo zmianie. Zaktualizowano jednak plik Dockerfile. Szczegółowe informacje znajdziesz w tych artykułach:

Nowa obsługa tokena OAuth w poleceniu uaktualnienia KVM

(Dodano 2.5.27) Możesz użyć tokena OAuth z poleceniem upgradekvm. Więcej informacji znajdziesz w artykule Uaktualnianie KVM.

Segregowanie interfejsów API w Edge Analytics

(Dodano 2.5.26) Nowe flagi w pluginie Analytics umożliwiają oddzielenie konkretnej ścieżki interfejsu API, aby wyświetlała się jako osobny serwer proxy w panelach Edge Analytics. Możesz na przykład oddzielić interfejsy API kontroli stanu, aby uniknąć ich mylenia z rzeczywistymi wywołaniami interfejsu API. Więcej informacji znajdziesz w artykule Wykluczanie ścieżek z raportów Analytics.

Konfigurowanie serwera proxy lokalnego

(Dodano 2.5.25) Dzięki lokalnemu serwerowi proxy nie musisz ręcznie tworzyć serwera proxy obsługującego mikrobramę w usłudze Apigee Edge. Zamiast tego mikrobramka użyje ścieżki podstawowej lokalnej zapory. Więcej informacji znajdziesz w artykule Korzystanie z lokalnego trybu serwera proxy.

Korzystanie z trybu samodzielnego

(Dodano 2.5.25) Możesz uruchomić Edge Microgateway bez połączenia z żadną zależnością Apigee Edge. Ten scenariusz, zwany trybem samodzielnym, umożliwia uruchamianie i testowanie Edge Microgateway bez połączenia z internetem. Więcej informacji znajdziesz w artykule Uruchamianie Edge Microgateway w trybie samodzielnym.

Wycofywanie kluczy

(Dodano 2.5.19) Dodano nowe polecenie wiersza poleceń, które odwołuje klucz i tajne dane logowania w konfiguracji Edge Microgateway.

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Więcej informacji znajdziesz w sekcji Odwoływanie kluczy.

Obsługa Dockera

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

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

Pomoc dotycząca Kubernetes

(Dodano 2.5.19) Możesz wdrożyć Edge Microgateway jako usługę lub jako bramkę poboczną przed usługami wdrożonymi w klastrze Kubernetes. Zapoznaj się z artykułem Omówienie integracji Edge Microgateway z Kubernetesem.

Obsługa opcji TCP nodelay

(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 będą natychmiast wysyłane za każdym razem, gdy zostanie wywołana funkcja socket.write()). Więcej informacji znajdziesz też w dokumentacji Node.js.

Aby włączyć nodelay, zmodyfikuj plik konfiguracji 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 CLI dotyczące monitorowania przez cały czas

(Dodano w wersji 2.5.12) Do polecenia edgemicro forever dodano nowe parametry. Te parametry umożliwiają określenie lokalizacji pliku forever.json oraz uruchomienie lub zatrzymanie procesu w tle Forever. Zobacz też Monitorowanie przez cały czas.

ParametrOpis
-f, --fileOkreśla lokalizację pliku forever.json.
-a, --actionMoże to być start lub stop. Domyślnie jest to „start”.

Przykłady:

Aby rozpocząć Forever:

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

Aby zatrzymać Forever:

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 do zabezpieczeń OAuth w mikrobramce Edge. Zobacz artykuł Wykonywanie rotacji kluczy JWT.

Filtrowanie pobranych serwerów proxy interfejsu API

Domyślnie Edge Microgateway pobiera wszystkie proxy w organizacji Edge, których nazwy zaczynają się od prefiksu „edgemicro_”. Możesz zmienić to domyślne ustawienie, aby pobierać proxy, których nazwy pasują do określonego wzorca. Zobacz Filtrowanie pobranych 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 proxy interfejsu API. Ta konfiguracja produktu umożliwia korzystanie z klucza interfejsu API powiązanego z tym produktem w przypadku dowolnego serwera proxy wdrożonego w Twojej organizacji. Od wersji 2.5.4 brama Edge Microgateway obsługuje tę konfigurację produktu.

Obsługa ciągłego monitorowania

Urządzenie Edge Microgateway ma plik forever.json, który możesz skonfigurować, aby kontrolować, ile razy i w jakich odstępach czasowych ma być ono restartowane. Ten plik konfiguruje usługę o nazwie forever-monitor, która zarządza Forever programowo. Zobacz monitorowanie przez cały czas.

Centralne zarządzanie plikiem konfiguracji Edge Micro

Jeśli używasz wielu instancji Edge Microgateway, możesz zarządzać ich konfiguracjami z jednego miejsca. Możesz to zrobić, podając punkt końcowy HTTP, z którego Edge Micro będzie mógł pobrać plik konfiguracji. Zobacz Określanie punktu końcowego pliku konfiguracyjnego.

Obsługa opcji CLI forever

(Dodano w wersji 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 urządzenia Edge Microgateway.

Na przykład:

edgemicro forever ~/mydir/forever.json

Dodanie opcji configUrl do polecenia reload

(Dodano w wersji 2.5.8) Teraz w komandach edgemicro reload możesz używać opcji --configUrl lub -u.

Okres prolongaty w przypadku rozbieżności czasu w tokenach JWT

(Dodano w wersji 2.5.7) Atrybut gracePeriod w konfiguracji OAuth pomaga zapobiegać błędom spowodowanym niewielkimi rozbieżnościami między zegarem systemowym a czasem Not Before (nbf) lub Issued At (iat) określonym w tokenie autoryzacji JWT. Ustaw ten atrybut na liczbę sekund, aby uwzględnić takie rozbieżności. Zobacz atrybuty OAuth.

(Dodano w wersji 2.5.7) Atrybut gracePeriod w konfiguracji OAuth pomaga zapobiegać błędom spowodowanym niewielkimi rozbieżnościami między zegarem systemowym a czasem Not Before (nbf) lub Issued At (iat) określonym w tokenie autoryzacji JWT. Ustaw ten atrybut na liczbę sekund, aby uwzględnić takie rozbieżności. Zobacz atrybuty OAuth.

Poprawione błędy w wersji 2.5.x

  • (Problem 236) Poprawka literówki w czyszczeniu pamięci podręcznej.
  • (Problem #234) Uruchomienie ponownie powoduje awarię w Edge Microgateway 2.5.35.
  • (Problem #135) Nieprawidłowy błąd „secure” (bezpieczny) podczas używania opcji -v. Ta poprawka modyfikuje serwer proxy edgemicro-auth przed wdrożeniem, aby mieć pewność, że hosty wirtualnych odpowiadają dokładnie temu, co jest określone w parametrze „-v”. Dodatkowo możesz określić dowolną liczbę hostów wirtualnych i dowolną nazwę (nieograniczoną do domyślnych i bezpiecznych).
  • (problem 141) Polecenie edgemicro reload nie obsługuje opcji pliku konfiguracji -c. Naprawiliśmy ten problem.
  • (Problem #142) Edge Microgateway zgłasza w momencie instalacji, że używane jest przestarzałe szyfrowanie. Naprawiliśmy ten problem.
  • (Issue #145) Quota not working with Edge Microgateway. Naprawiliśmy ten problem.
  • (problem w społeczności Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) Token JWT zweryfikowany przez oba serwery proxy API i URI zasobu w OAUTH. Ten problem został rozwiązany.
  • (problem w społeczności Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway nie działa z OAuth. Naprawiliśmy ten problem.
  • Napraw pidPath w Windows.
  • (Issue #157) Problem, który spowodował wyświetlenie tego komunikatu o błędzie, został rozwiązany: ReferenceError: deployProxyWithPassword nie jest zdefiniowany.
  • (Issue #169) Update Node.js dependencies (npm audit)
  • Serwer proxy edgemicro-auth korzysta teraz z zasad JWT Edge. Serwer proxy nie wymaga już biblioteki Node.js do obsługi JWT.

Wersja 2.4.x

Nowe funkcje i ulepszenia w wersji 2.4.x

1. Ustaw niestandardowy alias dla serwera proxy edgemicro-auth (PR 116)

Możesz zmienić domyślną ścieżkę bazową dla serwera proxy edgemicro-auth. Domyślnie ścieżka podstawowa to /edgemicro-auth. Aby to zmienić, użyj opcji -x w komendzie edgemicro configure.

Przykład:

edgemicro configure -x /mypath …


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

W ścieżce podstawowej serwera proxy edgemicro_* możesz użyć co najmniej jednego symbolu wieloznacznego „*”. Na przykład ścieżka podstawowa /team/*/members pozwala klientom wywoływać 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 /**/ nie jest obsługiwane.

Ważne: Apigee NIE obsługuje używania symbolu wieloznacznego „*” jako pierwszego elementu ścieżki podstawowej. Na przykład nie jest obsługiwana taka postać: /*/search.

3. Dodano ścieżkę do niestandardowej konfiguracji do CLI na potrzeby konfiguracji Private Cloud (PR 99)

Domyślnie plik konfiguracji mikrobramki znajduje się w folderze ./config/config.yaml. W poleceniach init, configure i start możesz teraz określić niestandardową ścieżkę konfiguracji w wierszu poleceń, używając flagi -c lub --configDir. Rozwiązaliśmy problem polegający na tym, że katalog niestandardowej konfiguracji dla instalacji chmury prywatnej nie był rozpoznawany.

Przykład:

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

4. Uwzględnianie zmiennych *_PROXY (PR 61)

Jeśli mikrobramka Edge jest zainstalowana za zaporą sieciową i nie może komunikować się z Apigee Edge w chmurze publicznej, możesz wybrać jedną z tych 2 opcji:

Opcja 1:

Pierwszą opcją jest ustawienie w pliku konfiguracji microgateway parametru edgemicro: proxy_tunnel na wartość true:

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

Jeśli parametr proxy_tunnel ma wartość true, Edge Microgateway używa metody HTTP CONNECT do tunelowania żądań HTTP przez pojedyncze połączenie TCP. (to samo dotyczy zmiennych środowiskowych konfigurujących proxy, jeśli są one włączone do obsługi TLS).

Opcja 2:

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

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

W tym przypadku możesz ustawić te zmienne, aby kontrolować hosty dla każdego serwera proxy HTTP, którego chcesz użyć, lub hosty, które nie powinny obsługiwać serwerów proxy Edge Microgateway: HTTP_PROXY, HTTPS_PROXYNO_PROXY. Możesz ustawić parametr NO_PROXY jako rozdzieloną przecinkami listę domen, do których Edge Microgateway nie powinien przekierowywać ruchu. Na przykład:

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

Więcej informacji o tych zmiennych znajdziesz w tych artykułach:

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


5. Ustawianie niestandardowego limitu czasu dla żądań docelowych (PR 57)

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

edgemicro:
    request_timeout: 10

Czas oczekiwania jest ustawiany w sekundach. Jeśli wystąpi przekroczenie limitu czasu, Edge Microgateway odpowie kodem stanu 504.

6. Uwzględnianie niestandardowych komunikatów stanu HTTP w odpowiedzi docelowej (PR 53)

Edge Microgateway respektuje niestandardowe komunikaty stanu HTTP ustawione w docelowej odpowiedzi. W poprzednich wersjach wiadomości o stanie wysyłane z obiektu docelowego były zastępowane domyślnymi wartościami Node.js.

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

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

8. Zmiany w pluginie OAuth

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

Wtyczki OAuth dodają 2 nowe flagi:

  • allowOAuthOnly – jeśli ta opcja ma wartość true, każde wywołanie interfejsu API musi zawierać nagłówek Authorization z tokenem dostępu Bearer.

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

Te flagi ustawiasz w pliku konfiguracyjnym Edge Microgateway w ten sposób:

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

9. Ulepszono serwer proxy edgemicro-auth (PR 40)

Wprowadziliśmy ulepszenia w serwerze proxy edgemicro-auth. Przed tymi zmianami klucze proxy były przechowywane w zaszyfrowanym repozytorium Edge Secure Store. Teraz serwer proxy przechowuje klucze w mapie klucz-wartość (KVM) Edge.

10. Zastępowanie domyślnego docelowego adresu URL w pluginie (PR 74)

Możesz też zastąpić docelowy port punktu końcowego i wybrać protokół HTTP lub HTTPS. Zmień te zmienne w kodzie wtyczki: req.targetPortreq.targetSecure. Aby wybrać HTTPS, ustaw opcję req.targetSecure na prawda. W przypadku HTTP ustaw ją na fałsz. Jeśli ustawisz parametr req.targetSecure na wartość Prawda, więcej informacji znajdziesz w tym wątku dyskusyjnym.

11. Początkowa obsługa uwierzytelniania za pomocą tokena OAuth (PR 125)

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

-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 wymagał płatnej organizacji do prawidłowego działania usługi proxy edgemicro-auth. Teraz możesz używać Edge Microgateway również w organizacjach próbnych. (PR 5)
  • Rozwiązaliśmy problem polegający na tym, że strumień nie zakończył przetwarzania danych, ale uchwyty końcowe były mimo to wykonywane. Powodowało to wysłanie odpowiedzi częściowej. (PR 71)
  • Rozwiązaliśmy problem polegający na tym, że katalog niestandardowej konfiguracji instalacji chmury prywatnej nie był rozpoznawany. (PR 110)
  • Rozwiązano problem z dwukierunkowym szyfrowaniem SSL między klientem a Edge Microgateway. (PR 70)
  • Rozwiązanie problemu, w którym do prawidłowego działania weryfikacji klucza interfejsu API wymagany był ukośnik na końcu ścieżki podstawowej w proxy. Teraz nie musisz umieszczać ukośnika na końcu ścieżki podstawowej. (PR 48)

Wersja 2.3.5

Nowe funkcje i ulepszenia w wersji 2.3.5

Filtrowanie proxy

Możesz filtrować, które proxy obsługujące mikrobramki będą przetwarzane przez instancję Edge Microgateway. Gdy Edge Microgateway się uruchamia, pobiera wszystkie proxy obsługujące mikrobramki w powiązanej z nim organizacji. Aby ograniczyć liczbę proxy, które będzie przetwarzać mikrobramka, użyj tej konfiguracji. Na przykład ta konfiguracja ogranicza serwery proxy przetwarzane przez mikrobramę do trzech: 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 umożliwia zapobieganie wyświetlaniu informacji o ścieżce żądania w statystykach Edge. Aby ukryć identyfikator URI żądania lub ścieżkę żądania, dodaj do konfiguracji mikrobramki następujące informacje. Pamiętaj, że identyfikator URI składa się z części nazwy hosta i ś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 nowe funkcje i udoskonalenia w tej wersji.

Wyłączanie automatycznego sprawdzania zmian

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

disabled_config_poll_interval: true

Domyślnie okresowe sprawdzanie wykrywa wszystkie zmiany wprowadzone w Edge (np. zmiany w produktach, w obsługujących mikrobramki serwerach proxy itp.), a także zmiany wprowadzone w lokalnym pliku konfiguracji. Domyślny interwał sprawdzania to 600 sekund (5 minut).

Zastępowanie docelowych adresów URL w wtyczkach

Domyślny adres docelowy możesz zastąpić dynamicznie w pluginie, modyfikując w jego kodzie te zmienne: req.targetHostnamereq.targetPath.

Nowy podpis funkcji wtyczki

Dodano nową sygnaturę funkcji wtyczki, która przekazuje odpowiedź docelową jako argument. Dzięki temu wtyczki łatwiej uzyskają dostęp do docelowej odpowiedzi.

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

Uproszczony domyślny format logowania

Domyślnie usługa rejestrowania pomija dane w formacie JSON dotyczące pobranych serwerów proxy, produktów i tokenów JWT. Możesz zmienić domyślne dane wyjściowe na te obiekty, ustawiając wartość DEBUG=* podczas uruchamiania Edge Microgateway. Na przykład:

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

Ścieżka niestandardowej konfiguracji dodana do interfejsu wiersza poleceń

Domyślnie plik konfiguracji mikrobramki znajduje się w folderze ./config/config.yaml. W przypadku poleceń init, configure i start możesz teraz określić niestandardową ścieżkę konfiguracji w wierszu polecenia. 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 występujący podczas dużych żądań i odpowiedzi.
  • Naprawiono kolejność wykonywania wtyczek. Teraz działa zgodnie z opisem w dokumentacji.
  • Wtyczka accumulate-request nie zawiesza się już w przypadku żądań GET.
  • Rozwiązaliśmy problem w pluginie accumulate-response, w którym brak treści odpowiedzi powodował błędy.

Wersja 2.3.1

Uwaga dotycząca instalacji

Niektóre poprzednie wersje Edge Microgateway umożliwiają instalację 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 nowe funkcje i udoskonalenia w tej wersji.

Filtrowanie proxy

Nowa konfiguracja umożliwia filtrowanie serwerów proxy, które Edge Microgateway ma wczytać po uruchomieniu. Wcześniej mikrobramka wczytywała wszystkie serwery proxy obsługujące mikrobramki (serwery proxy o nazwie edgemicro_*) pobrane z organizacji lub środowiska Edge, które zostały określone w poleceniu edgemicro configure. Ta nowa funkcja umożliwia filtrowanie listy serwerów proxy, dzięki czemu Edge Microgateway wczytuje tylko te, które określisz. Wystarczy dodać element proxies do pliku konfiguracyjnego mikrobramki w ten sposób:

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

Załóżmy na przykład, że masz 50 adresów proxy edgemicro_* w swojej organizacji/otoczeniu w Edge, w tym o nazwach edgemicro_fooedgemicro_bar. Możesz poprosić mikrobramę o używanie tylko tych dwóch serwerów proxy w ten sposób:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Po uruchomieniu mikrobramka będzie mogła wywoływać tylko określone serwery proxy. Wszelkie próby wywołania innych serwerów proxy obsługujących mikrobramki pobranych z organizacji lub środowiska Edge spowodują błąd.

Ustawianie nagłówków żądania docelowego we wtyczkach

Jeśli chcesz dodać lub zmodyfikować nagłówki żądania docelowego, możesz to zrobić na 2 podstawowe sposoby: żądanie przychodzące zawiera dane (jak w przypadku żądania POST) lub nie zawiera danych (jak w przypadku prostego żądania GET).

Rozważmy przypadek, w którym przychodzące żądanie zawiera dane, a chcesz ustawić nagłówki żądania w żądaniu docelowym. W poprzednich wersjach Edge Microgateway nie można było w takim przypadku niezawodnie ustawić nagłówków docelowych.

Kluczem do tego wzoru 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 obiekcie onrequest(). Ten wzór nie jest nowy – został już wcześniej udokumentowany i użyty w przykładowych wtyczkach dostępnych w 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 wczytywania bez przerwy

Po wprowadzeniu zmiany konfiguracji w Edge Microgateway możesz ją załadować bez utraty wiadomości. Dzięki tej zmianie Edge Microgateway zawsze uruchamia się w trybie klastra, a opcja --cluster została usunięta z polecenia edgemicro start.

Dodaliśmy też 3 nowe polecenia wiersza poleceń. Te polecenia musisz wykonać w tym samym katalogu, w którym zostało wykonane polecenie edgemicro start:

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

Automatyczne odświeżanie konfiguracji bez przerwy w działaniu

Edge Microgateway okresowo wczytuje nową konfigurację i wykonuje ponowne wczytywanie, jeśli coś się zmieni. Odpytywanie wykrywa wszelkie zmiany wprowadzone w Edge (zmiany produktów, proxy obsługujące mikrobramki itp.), a także zmiany wprowadzone w lokalnym pliku konfiguracji. Domyślny interwał sprawdzania to 600 sekund (5 minut). Domyślne ustawienie możesz zmienić w pliku konfiguracyjnym mikrobramki w ten sposób:

edgemicro:
    config_change_poll_interval: [seconds]

Dodano informacje o wersji do interfejsu wiersza poleceń

Do interfejsu wiersza dodano flagę --version. Aby uzyskać aktualną wersję Edge Microgateway, użyj:

edgemicro --version

Nowe opcje SSL serwera mikrobramki Edge

Edge Microgateway obsługuje teraz te opcje SSL serwera oprócz key i cert:

Opcja Opis
pfx Ścieżka do pliku pfx zawierającego klucz prywatny, certyfikat i certyfikaty CA klienta w formacie PFX.
passphrase Ciąg zawierający hasło wielowyrazowe klucza prywatnego lub pliku PFX.
ca Ścieżka do pliku zawierającego listę zaufanych certyfikatów w formacie PEM.
ciphers Ciąg znaków opisujący szyfry do użycia, rozdzielone znakiem „:”.
rejectUnauthorized Jeśli wartość to Prawda, certyfikat serwera jest weryfikowany na liście podanych urzędów certyfikacji. Jeśli weryfikacja się nie powiedzie, zwrócony zostanie błąd.
secureProtocol Metoda SSL do użycia. Na przykład SSLv3_method, aby wymusić użycie protokołu SSL w wersji 3.
servername Nazwa serwera dla rozszerzenia TLS SNI (Server Name Indication).

Wysyłanie plików dziennika do standardowego wyjścia

Dane dziennika możesz wysyłać do standardowego wyjścia za pomocą nowego ustawienia konfiguracji:

edgemicro:
  logging:
    to_console: true  

Zobacz Zarządzanie plikami dziennika.

Wersja 2.1.2

Poniżej znajdziesz nowe funkcje i udoskonalenia w tej wersji.

Zezwalaj na niestandardowy punkt końcowy interfejsu API do konfiguracji

Dostępne są nowe konfigurowalne punkty końcowe 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

Szczegółowe informacje znajdziesz w artykule Korzystanie z niestandardowej usługi uwierzytelniania.

Wersja 2.1.1

Poniżej znajdziesz nowe funkcje i udoskonalenia w tej wersji.

Wdrażanie serwera proxy uwierzytelniania na różnych platformach

Wprowadziliśmy ulepszenie, dzięki któremu polecenie używane do wdrażania w Edge serwera proxy autoryzacji Edge Microgateway 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 dotyczące połączeń SSL/TLS z docelami. Zobacz Korzystanie z opcji SSL/TSL klienta.

Wersja 2.0.11

Uwaga dotycząca instalacji w wersji 2.0.11

Niektóre poprzednie wersje Edge Microgateway umożliwiają instalację 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 start umożliwia określenie numeru portu, który zastąpi port podany w pliku konfiguracji. Numer portu możesz też podać za pomocą zmiennej środowiskowej PORT. Więcej informacji znajdziesz w komendach startowych.

Opcjonalne zachowanie nagłówków autoryzacji

Nowe ustawienie konfiguracji keepAuthHeader umożliwia zachowanie nagłówka Authorization wysłanego w żądaniu. Jeśli ma wartość Prawda, nagłówek Auth jest przekazywany do celu. Zobacz atrybuty OAuth.

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

Jeśli chcesz używać własnej usługi niestandardowej do obsługi uwierzytelniania, zmień wartość authUri w pliku konfiguracji Edge Microgateway, aby wskazywał na Twoją usługę. Szczegółowe informacje znajdziesz w artykule Korzystanie z niestandardowej usługi uwierzytelniania.

Wersja 2.0.4

Wersja 2.0.4 bramy Edge Microgateway została wydana 25 maja 2016 r.

Nowe funkcje i ulepszenia w wersji 2.0.4

Poniżej znajdziesz nowe funkcje i udoskonalenia 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 umożliwiają ograniczenie dostępu do interfejsów API na podstawie sufiksu ścieżki serwera proxy. Szczegółowe informacje o tworzeniu produktów i konfigurowaniu ścieżek zasobów znajdziesz w artykule Tworzenie produktów interfejsu API.

Obsługa npm global install

Możesz teraz zainstalować Edge Microgateway, używając opcji npm -g (global). Szczegółowe informacje na temat tej opcji znajdziesz w dokumentacji npm.

Wersja 2.0.0

Edge Microgateway w wersji 2.0.0 został wydany 18 kwietnia 2016 r.

Nowe funkcje i ulepszenia w wersji 2.0.0

Poniżej znajdziesz nowe funkcje i udoskonalenia w tej wersji.

Serwer z jednym procesem

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

Pliki konfiguracji w przestrzeni nazw

Pliki konfiguracji są teraz umieszczane w przestrzeni nazw za pomocą organizacji i środowiska, dzięki czemu na tym samym hoście mogą działać liczne instancje Microgateway. Po uruchomieniu polecenia konfiguracji Edge Microgateway pliki konfiguracji znajdziesz w folderze ~/.edgemicro.

Nowe zmienne środowiskowe

Obecnie dostępne są 4 zmiennych środowiskowych: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY, EDGEMICRO_SECRET. Jeśli te zmienne są ustawione w systemie, nie musisz podawać ich wartości podczas konfigurowania i uruchamiania Edge Microgateway za pomocą interfejsu wiersza poleceń (CLI).

Konfiguracja w pamięci podręcznej

Edge Microgateway używa pliku konfiguracyjnego w pamięci podręcznej, jeśli zostanie ponownie uruchomiony bez połączenia z Apigee Edge.

Tryb klastra

Teraz możesz uruchamiać Edge Microgateway w trybie klastra. Tryb klastra umożliwia korzystanie z systemów wielordzeniowych. W tym celu mikrobramka używa modułu klastra Node.js. Szczegółowe informacje znajdziesz w dokumentacji Node.js.

Poprawione błędy w wersji 2.0.0

Cykl życia zdarzeń w pluginie obsługuje teraz poprawnie kod asynchroniczny zawierający kod z nowym wywołaniem zwrotnym.

Wersja 1.1.2

Edge Microgateway w wersji 1.1.2 został wydany 14 marca 2016 r.

Nowe funkcje i ulepszenia w wersji 1.1.2

Poniżej znajdziesz nowe funkcje i udoskonalenia w tej wersji.

Zwiększenie wydajności

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

Obsługa debugera zdalnego

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

Nowa lokalizacja pliku konfiguracji

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

Rotacja plików dziennika

Nowy atrybut konfiguracji umożliwia określenie przedziału czasowego rotacji dla logów Edge Microgateway.

Poprawki w wersji 1.1.2

W wersji 1.1.2 naprawiliśmy te błędy:

Opis
Wskazówka w Javie dotycząca wewnętrznego serwera proxy edgemicro używanego z Edge na potrzeby lokalnych serwerów Edge korzysta teraz z odpowiedniego serwera MGMT.
Usuń zależności od skryptu z usług.
Naprawiono błąd w CLI podczas korzystania z opcji skromnego wdrożenia.
Napraw odwołanie do zależności logiki certyfikatu.