Informacje o wersji Edge Microgateway

Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. info

Wersja 3.3.x

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

3.3.7

17 lipca 2025 roku wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Poprawki błędów i ulepszenia:

Identyfikator problemu Typ Opis
191613108 Funkcja

Usługa Edge Microgateway (EMG) została ulepszona, aby obsługiwać wzorce adresów URL z wieloznacznymi symbolami w konfiguracji excludeUrls. To ulepszenie wyeliminowało wcześniejsze ograniczenie, zgodnie z którym funkcja executeURL była ograniczona do statycznych adresów URL i nie obsługiwała wzorców adresów URL ani parametrów zapytania w żądaniach GET.

Zaktualizowana funkcja umożliwiała warunkowe wykluczanie wtyczek na podstawie dynamicznych adresów URL lub adresów URL pasujących do wzorca. Ta modyfikacja była wstecznie zgodna, dzięki czemu dotychczasowe konfiguracje statycznych adresów URL pozostały w pełni funkcjonalne i nie wymagały zmian.

Na przykład

edgemicro:
  plugins:
    excludeUrls: '/hello,/proxy_one/*' # global exclude urls
    sequence:
      -oauth
      -json2xml
      -quota
      -json2xml:
          excludeUrls: '/hello/xml/*'  # plugin level exclude urls
135276110 Funkcja

Dane analityczne Edge Microgateway (EMG) obejmowały gateway_flow_id. Wcześniej to pole było pomijane, co utrudniało unikalną identyfikację i korelację zdarzeń analitycznych z konkretnymi wykonaniami interfejsu API.

EMG zostało zaktualizowane, aby automatycznie wypełniać każdy rekord analityczny unikalnym identyfikatorem UUID dla gateway_flow_id. To pole stało się domyślnie wymaganym komponentem wszystkich pakietów danych analitycznych, co znacznie poprawiło śledzenie danych i spójność raportowania.

422696257 Błąd

Znacznie zwiększyliśmy stabilność systemu, rozwiązując krytyczny problem z awariami.

Rozwiązanie polegało na zidentyfikowaniu i skorygowaniu błędnej konfiguracji w module wewnętrznym, która wcześniej powodowała powtarzającą się pętlę procesu prowadzącą do przeciążenia systemu. Ta ukierunkowana korekta wyeliminowała pętlę, dzięki czemu system stał się bardziej niezawodny.

Rozwiązane problemy dotyczące bezpieczeństwa

3.3.6

16 kwietnia 2025 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.6. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama core config wtyczki edgeauth
3.3.6 3.3.6 3.3.6 3.3.6 3.2.2

Rozwiązane problemy dotyczące bezpieczeństwa

  • CVE-2025-27789
  • CVE-2024-21538
  • CVE-2024-12133

3.3.5

W piątek 20 grudnia 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.5. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 korzystasz z Node.js w wersji 18, Edge Microgateway wyświetli przy uruchomieniu ten komunikat o błędzie:

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ązane problemy dotyczące bezpieczeństwa

  • 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

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żdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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ązane problemy dotyczące bezpieczeństwa

  • 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żdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 wpływa na podstawowe działanie Edge Microgateway ani na przepisywanie docelowych adresów URL. Więcej informacji znajdziesz w artykule Przepisywanie docelowych adresów URL w pluginach.

283947053 Usunięto

Usunęliśmy obsługę forever-monitor z Edge Microgateway. Ciąg forever-monitor możesz zastąpić wartością PM2. Szczegółowe informacje znajdziesz w tym poście na forum społeczności Apigee: Edgemicro + PM2: Starting edgemicro as a service (Edgemicro + PM2: uruchamianie edgemicro jako usługi).

Rozwiązane problemy dotyczące bezpieczeństwa

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

3.3.2

18 sierpnia 2023 r. 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.2. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 interfejsu wiersza poleceń Edge Microgateway działają tylko w obsługiwanych wersjach. Wykonywanie poleceń interfejsu wiersza poleceń w nieobsługiwanych wersjach spowoduje błąd. Zobacz też Obsługiwane oprogramowanie i wersje Apigee.

283947053 Błąd

Rozwiązaliśmy problem, w którym Edge Microgateway zwracał pierwszy produkt API na liście produktów API powiązanych z aplikacją. Teraz określamy prawidłowy produkt API do zwrócenia 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 18 środowiska Node.js. Obraz Dockera jest teraz tworzony w wersji 18.17-buster-slim.

Rozwiązane problemy dotyczące bezpieczeństwa

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żdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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

Środowisko Node.js w wersji 16 jest teraz obsługiwane.

231972608 Błąd

Rozwiązaliśmy problem polegający na tym, że podczas próby skonfigurowania chmury prywatnej polecenie private configure wywoływało błąd.

233315475 Błąd

Naprawiono problem, w którym json2xml wtyczka zgłaszała błąd analizowania podczas przekształcania odpowiedzi z formatu JSON na XML i w połączeniu z accumulate-response wtyczką.

221432797 Zmień

Wersja Docker Node.js podstawowego obrazu 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 za pomocą opcji -t w poleceniu revokekeys.

Szczegółowe informacje znajdziesz w dokumentacji wiersza poleceń.

218723889 Aktualizacja dokumentu

Dokumentacja została zaktualizowana o link do obsługiwanych wtyczek Edge Microgateway przechowywanych w usłudze GitHub. Zobacz Istniejące wtyczki dołączone do Edge Microgateway.

Rozwiązane problemy dotyczące bezpieczeństwa

Identyfikator problemu Opis
CVE-2021-23413 Dotyczy to pakietu jszip w wersji starszej 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 ze 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 3.3.0. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 w wersji 3.3.0 jest niezgodny 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 wykonasz polecenie 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ć ten problem, uruchom to polecenie, aby przywrócić prawidłową wersję apigeetool:

npm install apigeetool@0.15.1

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

138622990 Funkcja

Nowa flaga w przypadku wtyczki Quota, isHTTPStatusTooManyRequestEnabled, konfiguruje wtyczkę tak, aby w przypadku naruszenia limitu zwracała kod stanu odpowiedzi HTTP 429 zamiast stanu 403. Zobacz Opcje konfiguracji 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 w każdym interwale odpytywania, a także aktualizuje klucz w przypadku zmiany klucza publicznego dostawcy tożsamości. Wcześniej wtyczka extauth nie mogła zaktualizować klucza publicznego bez ponownego wczytywania Edge Microgateway, jeśli klucz publiczny dostawcy tożsamości uległ zmianie.
168713541 Błąd

Dokumentacja została rozszerzona o informacje o konfigurowaniu TLS/SSL dla wielu miejsc docelowych. Zobacz Korzystanie z opcji SSL/TLS klienta.

171538483 Błąd

Dokumentacja została zmieniona w celu poprawienia konwencji nazewnictwa plików dziennika. Zobacz Konwencje nazewnictwa plików logów.

157908466 Błąd

Dokumentację zmieniono tak, aby prawidłowo wyjaśniała, jak zainstalować konkretną wersję Edge Microgateway. Zobacz Uaktualnianie Edge Microgateway, jeśli masz połączenie z internetem.

215748427 Błąd Rozwiązaliśmy problem, który powodował, że polecenie revokekeys zwracało błąd podczas odwoływania klucza za pomocą istniejącej pary klucza i klucza tajnego.
205524197 Błąd Zaktualizowaliśmy dokumentację, aby zawierała pełną listę poziomów rejestrowania. Więcej informacji znajdziesz w sekcjach Atrybuty edgemicroUstawianie poziomu 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 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.2.3. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 poluzowanie ścisłych uprawnień do pliku dziennika aplikacji api-log.log. Więcej informacji znajdziesz w artykule Jak zmienić uprawnienia do plików dziennika.

192799989 Funkcja

Atrybut konfiguracji on_target_response_abort pozwala kontrolować działanie Edge Microgateway, jeśli połączenie między klientem (Edge Microgateway) a serwerem docelowym zostanie przedwcześnie zamknięte. Więcej informacji znajdziesz w artykule Atrybuty edgemicro.

148062415 Błąd Rozwiązaliśmy problem, który powodował, że w kontekście kontenera Docker usługa Edge Microgateway nie zamykała się prawidłowo po użyciu polecenia docker stop {containerId}. Proces został zakończony, ale pliki .sock.pid nie zostały usunięte. Teraz pliki są usuwane, a ponowne uruchomienie tego samego kontenera działa zgodnie z oczekiwaniami.
190715670 Błąd Rozwiązaliśmy problem, który powodował zawieszanie się niektórych żądań podczas wewnętrznego ponownego wczytywania mikrobramy. Problem występował sporadycznie i w sytuacjach o dużym natężeniu ruchu. Problem wystąpił podczas korzystania z funkcji tokenCachecacheKey wtyczki OAuth.
183910111 Błąd Rozwiązaliśmy problem polegający na tym, że adres URL ścieżki zasobu z ukośnikiem na końcu był nieprawidłowo interpretowany jako osobna ścieżka zasobu. Teraz na przykład ścieżki /country/all/country/all/ są interpretowane jako ta sama ścieżka.

Rozwiązane problemy dotyczące bezpieczeństwa

Identyfikator problemu Opis
CVE-2020-28503 W wersjach pakietu copy-props starszych niż 2.0.5 występuje podatność na zanieczyszczenie prototypu za pomocą głównej funkcji.
CVE-2021-23343 Wszystkie wersje pakietu path-parse są podatne na atak typu ReDoS (Regular Expression Denial of Service) za pomocą wyrażeń regularnych splitDeviceRe, splitTailRe i splitPathRe. ReDoS wykazuje wielomianową złożoność czasową w najgorszym przypadku.

3.2.2

W czwartek 15 lipca 2021 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.2.2. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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ń

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

Interfejsy API żądania tokena i żądania tokena odświeżania zwracają teraz wartość expires_in jako liczbę całkowitą podaną 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 działania i konfiguracji.

188492065 Zmień Zakończenie 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 dla 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, aby uruchomić Edge Microgateway w kontenerze Dockera, kontener domyślnie przekieruje standardowe wyjście i wyjście błędów do pliku znajdującego się w kontenerze w lokalizacji ${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 Korzystanie z Dockera w przypadku Edge Microgateway.

183057665 Funkcja Umożliwienie konfigurowania ś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 w kontenerze Dockera mają być tworzone pliki edgemicro.sockedgemicro.pid. Zobacz Korzystanie z Dockera w przypadku Edge Microgateway.

191352643 Funkcja Obraz Dockera dla Edge Microgateway został zaktualizowany, aby używać wersji 12.22 NodeJS. Zobacz Korzystanie z Dockera w przypadku Edge Microgateway.

Rozwiązane problemy dotyczące bezpieczeństwa

Identyfikator problemu Opis
CVE-2021-28860 W Node.js mixme w wersjach starszych niż 0.5.1 atakujący może dodawać lub zmieniać właściwości obiektu za pomocą funkcji mutate() i merge() przez „__proto__”. Atrybut polluted zostanie przypisany bezpośrednio do każdego obiektu w programie. Może to zagrozić dostępności programu i spowodować potencjalny atak typu DoS.
CVE-2021-30246 W pakiecie jsrsasign w wersjach do 10.1.13 dla Node.js niektóre nieprawidłowe podpisy RSA PKCS#1 v1.5 są błędnie rozpoznawane jako prawidłowe. UWAGA: nie ma znanego praktycznego ataku.
CVE-2021-23358 W pakietach w wersjach od 1.13.0-0 do 1.13.0-2 oraz od 1.3.2 do 1.12.1 występuje luka umożliwiająca wstrzyknięcie dowolnego kodu za pomocą funkcji szablonu, zwłaszcza gdy jako argument przekazywana jest właściwość zmiennej, ponieważ nie jest ona oczyszczana.
CVE-2021-29469 Node-redis to klient Redis w Node.js. Przed wersją 3.1.1, gdy klient był w trybie monitorowania, wyrażenie regularne używane do wykrywania wiadomości monitorowania mogło powodować wykładnicze wycofywanie się w przypadku niektórych ciągów znaków. Ten problem może prowadzić do odmowy usługi. Problem został rozwiązany w wersji 3.1.1.
CVE-2020-8174 Obraz Dockera został zaktualizowany, aby używać Node.js w wersji 12.22.

3.2.1

W piątek 5 marca 2021 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.2.1. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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ł awarię aplikacji, gdy klucze JWK miały wartość null.

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

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

179971737 Błąd Rozwiązaliśmy problem polegający na tym, że odpowiedzi o stanie 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 liczby błędów dotyczących celu. Kody błędów dotyczące błędów docelowych były liczone jako błędy proxy. Ten problem został rozwiązany i wyświetlane są teraz prawidłowe liczby błędów w przypadku docelowych plików.

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

Produkty API mają 3 kody stanu: Oczekujący, Zatwierdzony i Cofnięty. Do zasady Set JWT Variables w proxy edgemicro-auth dodaliśmy nową właściwość o nazwie allowProductStatus. Aby użyć tej właściwości do filtrowania produktów interfejsu API wymienionych w JWT:

  1. Otwórz serwer proxy edgemicro-auth w edytorze serwerów proxy Apigee.
  2. Dodaj właściwość allowProductStatus do kodu XML zasady SetJWTVariables i określ rozdzieloną przecinkami listę kodów stanu, według których chcesz filtrować. Aby na przykład filtrować według stanu OczekujeCofnię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 właściwość w ten sposób:

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

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

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

178423436 Błąd Wartości klucza i klucza tajnego przekazywane w interfejsie CLI lub za pomocą zmiennych środowiskowych są widoczne w argumentach wiersza poleceń eksploratora procesów.

Zgłoszono problem, w którym wartości klucza i tajnego klucza Edge Microgateway przekazywane z argumentów wiersza poleceń lub ustawiane za pomocą zmiennych środowiskowych były wyświetlane w argumentach procesów roboczych/podrzędnych węzła po uruchomieniu mikrobramy.

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

Jeśli podczas uruchamiania mikrobramy klucz i wartości tajne zostaną przekazane w wierszu poleceń, ustawienia zastąpią wszelkie wartości zmiennych środowiskowych, jeśli są ustawione. W takim przypadku wartości są nadal widoczne w argumentach wiersza poleceń eksploratora procesów.

178341593 Błąd Naprawiliśmy błąd w dokumentacji wtyczki apikeys.

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

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

179366445 Błąd Rozwiązano problem, w którym ładunek był odrzucany w przypadku wszystkich żądań GET wysyłanych do miejsc docelowych.

Możesz kontrolować to zachowanie za pomocą nowego parametru konfiguracji edgemicro: enable_GET_req_body. Jeśli ta opcja ma wartość true, nagłówek żądania transfer-encoding: chunked jest dodawany do wszystkich żądań GET, a ładunek GET, jeśli występuje, jest wysyłany do miejsca docelowego. Jeśli false (wartość domyślna), ładunek jest usuwany w sposób niewidoczny przed wysłaniem żądania do miejsca docelowego.

Na przykład:

edgemicro:
 enable_GET_req_body: true

Zgodnie z sekcją 4.3.1 standardu RFC 7231: GET ładunek żądania GET nie ma zdefiniowanej semantyki, więc można go wysłać do miejsca docelowego.

3.2.0

W czwartek 21 stycznia 2021 roku 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.2.0. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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łączono wtyczkę extauth, aby ustawić nagłówek x-api-key na zawierający client_id w obiekcie żądania, gdy token jest prawidłowy. x-api-key jest wtedy dostępny dla kolejnych wtyczek.
168836123, 172295489, 176462355, 176462872 Funkcja Dodano obsługę Node.js 14.
172376835 Błąd Użyj prawidłowej jednostki czasu dla punktu końcowego /tokenedgemicro-auth proxy.

Rozwiązaliśmy problem, w którym punkt końcowy /tokenedgemicro-auth proxy zwracał wartość expires_in w milisekundach. Zgodnie ze specyfikacją OAuth powinien on jednak być zgodny z jednostką czasu dla refresh_token_expires_in, czyli sekundami.

Poprawka nie zmienia długości czasu wygaśnięcia, a jedynie jednostkę czasu. Dotyczy to tylko pola expires_in w treści odpowiedzi z tokenem dostępu. Token JWT w tym samym ładunku odpowiedzi zawiera 2 pola: iatexp. Są one generowane prawidłowo, zawsze z jednostką czasu seconds.

Jeśli klienci polegali na wartości expires_in (w milisekundach) w celu odświeżania tokenów przed ich wygaśnięciem, zastosowanie tej poprawki bez modyfikowania klientów spowoduje znacznie częstsze i niepotrzebne odświeżanie. Te klienty będą musiały zostać zmodyfikowane, aby uwzględnić zmianę jednostki czasu i zachować pierwotne działanie.

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

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

Jest to problem występujący sporadycznie w przypadku żądań o dużym rozmiarze ładunku. Został on wprowadzony w wersji 3.1.7.

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

W tych wtyczkach dodaliśmy prawidłowe przetwarzanie danych: json2xml, accumulate-request, accumulate-responseheader-uppercase. 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żdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 logiczne w tagach zmiennych środowiskowych były nieprawidłowo analizowane.

Podczas obsługi zastępowania zmiennych środowiskowych wszystkie wartości były analizowane jako ciągi znaków, co powodowało błędy analizowania wartości logicznych lub liczbowych. Na przykład parametr edgemicro.port oczekuje i wymaga wartości liczbowej. Wprowadzono 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.

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

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

Ścieżka /token w proxy edgemicro-auth generowała tokeny JWT bez prawidłowych zakresów usług zdefiniowanych w Edge w wyniku 2 różnych scenariuszy: 1) ładunek żądania do ścieżki /token nie zawierał parametru zakresu lub 2) w ładunku żądania do ścieżki /token przekazano nieprawidłowy zakres. Wprowadzono poprawkę, która umożliwia zwracanie wszystkich zakresów zdefiniowanych w usługach API w Apigee Edge.

170609716 Błąd Rozwiązaliśmy problem, który powodował, że przepływ /refresh w usłudze proxy edgemicro-auth generował token JWT bez apiProductList.

170708611 Błąd Zakresy interfejsu API nie są dostępne dla wtyczek niestandardowych.

Zakresy produktów interfejsu API nie zostały udostępnione wtyczkom niestandardowym ani zapisane w pliku konfiguracji pamięci podręcznej. Więcej informacji o tym, jak udostępniać wtyczkom szczegóły zakresu, znajdziesz w artykule 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 yaml konfiguracji pamięci podręcznej przy każdym ponownym wczytaniu lub uruchomieniu. W wersji 3.1.8 klucz i klucz tajny 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 analitycznej.

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

159571119 Błąd Błąd wartości null w haku onerror_request w niestandardowych wtyczkach z powodu przekroczenia czasu oczekiwania na odpowiedź lub gniazdo.

Wprowadziliśmy poprawki, aby w przypadku zdarzeń onerror_request podawać prawidłowy kod stanu HTTP i komunikat o błędzie, a w przypadku zdarzeń onerror_response – prawidłowy komunikat o błędzie.

3.1.7

W czwartek 24 września 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.7. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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ź o wartości null z wywołań axpublisher i spowodowała 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 z powodu nieautoryzowanych ścieżek zasobów usługi lub odpowiedzi o stanie 401 z powodu wygasłego lub nieprawidłowego tokena.

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

158618994 Błąd Nadmierna liczba połączeń klientów Redis.

161404373 Błąd W przypadku odpowiedzi o stanie 404 w wiadomości odpowiedzi uwzględniano pełny identyfikator URI serwera proxy.
166356972 Błąd

Uruchamianie Edge Microgateway w wersji 12.13.x lub nowszej Node.js powodowało wystąpienie tego błędu 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 wtyczki OAuth nie były rejestrowane w przypadku awarii sieci.

166517190 Błąd Dane jwk_public_keys nie zostały zapisane i pobrane przez Synchronizer, a następnie zapisane w Redisie.

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

142808699 Błąd Wtyczka accesscontrol nieprawidłowo obsługiwała sekcje „allow” i „deny”.

Mikrogateway prawidłowo przetwarza sekcję odrzucania i uwzględnia kolejność sekcji „dozwolone” i „odrzucone”. Do pliku konfiguracyjnego mikrobramy dodano nową noRuleMatchAction usługę, aby zapewnić zgodność z zasadami AccessControl Apigee Edge. Zapoznaj się też z plikiem README wtyczki kontroli dostępu w GitHubie.

3.1.6

W czwartek 20 sierpnia 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.6. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 klucza i pliku certyfikatu dla polecenia rotatekey.

Szczegółowe informacje o tych nowych opcjach poleceń znajdziesz w artykule Rotowanie kluczy.

154838259 Błąd Rozwiązywanie problemów z rotacją kluczy w przypadku wielu instancji w różnych centrach danych

Szczegółowe informacje o tych nowych opcjach poleceń znajdziesz w artykule Rotowanie kluczy.

145525133 Funkcja w wersji alfa Nowe dane wtyczki

Szczegółowe informacje znajdziesz w pliku README New plugin metrics na GitHubie.

159396879 Błąd Usuwanie nieużywanego pakietu Helper
161092943 Błąd Weryfikacja ścieżki podstawowej była nieprawidłowa

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

Poniżej znajdziesz dalsze wyjaśnienie poprzedniego działania (które zostało poprawione w wersji 3.1.6):

Załóżmy, że serwer proxy jest skonfigurowany ze ścieżką podstawową /hello/v1 i ścieżką docelową https://mocktarget.apigee.net. Załóżmy, że serwer proxy 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/v1 została prawidłowo 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 /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 zwracany jest błąd 404.
160431789 Błąd Wtyczki niestandardowe – obiekt konfiguracji przekazany do funkcji 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. Patrz config.

162758808 Błąd Nowa konfiguracja limitu dla pamięci Redis

Aby określić Redis jako pamięć zapasową limitów, możesz użyć tej konfiguracji: Więcej informacji znajdziesz w artykule Używanie Redis jako pamięci zapasowej na potrzeby limitów.

3.1.5

W piątek 26 czerwca 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.5. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 wtyczek

Dodaliśmy nową funkcję konfiguracji, która umożliwia pomijanie przetwarzania wtyczek w przypadku określonych adresów URL. Więcej informacji znajdziesz w artykule Konfigurowanie adresów URL do wykluczenia z przetwarzania wtyczek.

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

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

156560067, 159688634 Funkcja

Używanie wartości zmiennych środowiskowych w konfiguracji

Dodano funkcję, która umożliwia określanie zmiennych środowiskowych za pomocą tagów w pliku konfiguracyjnym. Określone tagi zmiennych środowiskowych są zastępowane rzeczywistymi wartościami zmiennych środowiskowych. Zamienniki są przechowywane tylko w pamięci i nie są zapisywane w oryginalnej konfiguracji ani w plikach 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, który powodował, że w dziennikach host docelowy pojawiał się z dodatkowymi dwukropkami.

153673257 Błąd

(Tylko Edge for Private Cloud) Produkty obsługujące mikrobramę nie są pobierane

Rozwiązaliśmy problem, który powodował, że nie były pobierane produkty obsługujące mikrobramę. Ten problem występował tylko w przypadku instalacji Edge w chmurze prywatnej.

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

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

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

Ulepszyliśmy 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 aktualizacją 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:

Naprawiliśmy problem z zależnościami w wersji 3.1.3. Wersja 3.1.3 została oznaczona jako przestarzała w repozytorium npm. W przeciwnym razie wszystkie poprawki błędów i ulepszenia opisane w informacjach o wersji 3.1.3 będą dotyczyć tej wersji.

3.1.3

W środę 15 kwietnia 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.3. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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ązaliśmy 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ązaliśmy problem, który powodował, że w danych wyjściowych rejestrowania był drukowany ten sam identyfikator wiadomości dla 2 różnych transakcji.
  • 151673570 – rozwiązano problem polegający na tym, że Edge Microgateway nie był aktualizowany w celu korzystania z nowych interfejsów Apigee KVM API. Edge Microgateway używa teraz nowych poleceń do dodawania i aktualizowania wartości KVM.
  • 152822846 – w poprzednich wersjach Edge Microgateway został zaktualizowany, aby jego przetwarzanie mapowania ścieżki zasobu było zgodne z Apigee Edge. W tej wersji rozwiązaliśmy 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 - Changes were made to enable organization and environment scoped identifiers for quotas.
  • 152005003 - Changes were made to enable organization and environment scoped identifiers for quotas. Kombinacja „org + env + appName + productName” jest używana jako identyfikator limitu.

3.1.2

W poniedziałek 16 marca 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.3. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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. Dodatkowo rozwiązano problemy z dotychczasową obsługą serwera proxy HTTP między Edge Microgateway a Apigee Edge. Więcej informacji:
  • 149101890 – kod powiadomienia w dzienniku w przypadku, gdy serwer docelowy lub moduł równoważenia obciążenia zamyka połączenie, został zmieniony z ERROR na INFO.
  • 150746985 – rozwiązaliśmy problem, który powodował, że polecenie edgemicro verify nie działało prawidłowo, jeśli w pliku konfiguracyjnym występowały znaki redisBasedConfigCache: true lub quotaUri: https://%s-%s.apigee.net/edgemicro-auth.
  • 151284716 – wprowadzono ulepszenie, które umożliwia szybsze zamykanie połączeń z serwerem, gdy pracownicy są ponownie uruchamiani podczas ponownego wczytywania.
  • 151588764. Zaktualizuj wersję Node.js w obrazie Dockera używanym do uruchamiania Edge Microgateway w kontenerze Dockera do wersji 12, ponieważ wersja 8 Node.js jest wycofana.
  • 151306049 – zaktualizowano dokumentację, aby uwzględnić interfejsy API zarządzania Apigee Edge, które są używane przez polecenia interfejsu Edge Microgateway CLI. Zobacz Z jakich interfejsów API do zarządzania korzysta Edge Microgateway?.

3.1.1

W czwartek 20 lutego 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.1. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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ązaliśmy problem polegający na tym, że moduł microgateway-core nie uwzględniał zmiennych środowiskowych HTTP_PROXYHTTPS_PROXY. Po wprowadzeniu tej zmiany ustawienia serwera proxy w pliku konfiguracyjnym YAML, jeśli zostały określone, są teraz ignorowane. Do określania serwera proxy używane są 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 ten podany w pliku konfiguracyjnym. Jeśli na przykład określisz taką konfigurację:

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

    Musisz też określić tę zmienną środowiskową:

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

    Wewnętrznie parametr ustawia atrybut Node.js Server.headersTimeout w żądaniach. (Domyślnie: 5 sekund więcej niż czas ustawiony za pomocą edgemicro.keep_alive_timeout. To ustawienie domyślne zapobiega przypadkowemu przerwaniu połączenia przez systemy równoważenia obciążenia lub serwery proxy).

  • 149278885 – dodaliśmy nową funkcję, która umożliwia ustawienie limitu czasu docelowego interfejsu API na poziomie serwera proxy interfejsu API zamiast używania jednego globalnego ustawienia limitu czasu.

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

3.1.0

We wtorek 21 stycznia wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Wersje komponentów:

W poniższej tabeli znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.1.0. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 - A new WARN level event will be logged when the quotas.failOpen flag is triggered. Ten sygnał jest wywoływany, gdy wystąpi błąd przetwarzania limitu lub gdy żądanie „quota apply” (zastosuj limit) do Edge nie zaktualizuje zdalnych liczników limitów. W takim przypadku limit będzie przetwarzany tylko na podstawie lokalnych wartości do czasu następnej pomyślnej synchronizacji zdalnego limitu. Wcześniej to zdarzenie było rejestrowane tylko wtedy, gdy poziom dziennika 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ązaliśmy problem polegający na tym, że w przypadku wykrycia przez Edge Microgateway zmiany w proxy interfejsu API miało to wpływ na transakcje w toku lub nowe. Gdy 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 toku ani na nowe wywołania interfejsu API wysyłane do mikrobramy.
  • 146378327. Poziom rejestrowania w przypadku sourceRequest, targetRequesttargetResponse został zmieniony na poziom INFORMACJE.
  • 146019878 – usunięto rozbieżność między czasem oczekiwania obliczonym dla „Wydajności serwera proxy API” w statystykach Edge a zdarzeniami dziennika sourceResponse/targetResponse Edge Microgateway. Opóźnienie w przypadku zdarzeń z dziennika Edge Analytics i Microgateway jest teraz takie samo.
  • Zmiany w logice dopasowywania wzorców:
    • 147027862 – wtyczka OAuth została zaktualizowana, aby obsługiwać te wzorce dopasowywania ścieżek zasobów określone w produktach API:
      • /{literal}**
      • /{literal}*
      • Dowolna kombinacja powyższych 2 wzorców

      Dzięki tej zmianie wtyczka Edge Microgateway stosuje teraz to samo dopasowywanie wzorców co Apigee Edge, co zostało wyjaśnione w artykule Konfigurowanie działania ścieżki zasobu „/”, „/*” i „/**”.

    • 145644205. Zaktualizuj logikę dopasowywania wzorców w przypadku wtyczki apiKeys, aby była zgodna z wtyczką oauth.
  • 143488312 – rozwiązano problem, w którym spacje na początku lub na końcu parametru identyfikatora klienta powodowały, że lista produktów JWT była pusta w przypadku żądań tokena OAuth i klucza API.
  • 145640807 i 147579179 – dodaliśmy nową funkcję, która umożliwia specjalnej instancji Edge Microgateway o nazwie „synchronizator” pobieranie danych konfiguracyjnych z Apigee Edge i zapisywanie ich w lokalnej bazie danych Redis. Inne instancje mikrobramy można następnie skonfigurować tak, aby odczytywały dane konfiguracyjne z bazy danych. Ta funkcja zwiększa odporność Edge Microgateway. Umożliwia to uruchamianie i działanie instancji mikrobramy bez konieczności komunikowania się z Apigee Edge. Więcej informacji znajdziesz w artykule Korzystanie z synchronizatora.

    Funkcja synchronizatora jest obecnie obsługiwana w przypadku Redis w wersji 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 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.0.10. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 wzorców ścieżek zasobów używanych w produktach API dla Edge Microgateway jest teraz zgodne z dopasowywaniem wzorców ścieżek zasobów używanym przez Apigee Edge, zgodnie z opisem w artykule Konfigurowanie działania ścieżki zasobu „/”, „/*” i „/**”.

    Uwaga: jeśli używasz złożonego wzorca zasobów, np. /*/2/**, musisz się upewnić, że serwer proxy edgemicro_auth jest dodany do samodzielnej usługi API. Następnie musisz dodać ten produkt do aplikacji dewelopera serwera proxy, jak pokazano na tym zrzucie ekranu:

    alt_text

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

  • 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 limitu. Zmiana struktury została wprowadzona, aby zwiększyć przejrzystość elementów konfiguracji. Aby skonfigurować wtyczkę limitu, użyj tej konfiguracji YAML. Pamiętaj, że właściwość konfiguracji ma nazwę quotas. Szczegółowe informacje o poszczególnych właściwościach konfiguracji quotas znajdziesz w artykule Opcje konfiguracji 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. Dodaliśmy nową funkcję, która umożliwia używanie Redis jako pamięci zapasowej limitu. Jeśli useRedis ma wartość true, używany jest moduł volos-quota-redis. Jeśli wartość to „true”, limit jest ograniczony tylko do tych instancji Edge Microgateway, które łączą się z Redis. Jeśli wartość jest fałszywa, jako pamięć zapasowa używany jest moduł volos-quota-apigee, a licznik limitu jest globalny. Więcej informacji znajdziesz w artykule Opcje konfiguracji limitu. Na przykład:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210.Domyślny czas wygaśnięcia tokenów generowanych przez serwer proxy edgemicro-auth został zmieniony z 108 000 milisekund (1,8 minuty) na 1800 sekund (30 minut).
  • 143551282. Aby obsługiwać organizacje z włączonym protokołem SAML, polecenie edgemicro genkeys zostało zaktualizowane i zawiera teraz parametr ‑‑token. Ten parametr umożliwia użycie 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 te poprawki i ulepszenia w usłudze Edge Microgateway.

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.9. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 – dodano nową funkcję „fail open” dla wtyczki limitu. Jeśli ta funkcja jest włączona, w przypadku wystąpienia błędu przetwarzania limitu lub niepowodzenia żądania „quota apply” do Edge w zakresie aktualizacji zdalnych liczników limitów limit będzie przetwarzany tylko na podstawie lokalnych wartości, dopóki nie nastąpi kolejna udana synchronizacja zdalnego limitu. W obu tych przypadkach w obiekcie żądania ustawiana jest flaga quota-failed-open.

    Aby włączyć funkcję „fail open” limitu, ustaw tę konfigurację:

    quotas :
     failOpen : true

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

  • 142093764. W celu zapobiegania przekraczaniu limitów wprowadzono zmianę konfiguracji serwera proxy edgemicro-auth. Zmiana polega na ustawieniu typu limitu na kalendarzowy. 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 dotyczących limitów. Aby korzystać z tej funkcji, musisz zaktualizować edgemicro-auth serwer proxy 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 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.0.8. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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 wykonanie wywołania weryfikacji klucza interfejsu API do edgemicro-auth proxy.

    Ta funkcja umożliwia ustawienie okresu prolongaty, w którym stary token pozostaje w pamięci podręcznej i jest ponownie używany do momentu wygaśnięcia okresu prolongaty. Ta funkcja umożliwia Edge Microgateway kontynuowanie przetwarzania żądań w przypadku tymczasowej awarii połączenia. Gdy połączenie zostanie przywrócone i zostanie wykonane wywołanie interfejsu API weryfikacji, pobrany zostanie nowy token JWT, który zastąpi stary token JWT w pamięci podręcznej.

    Aby skonfigurować nową funkcję „fail open”:

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

      Na przykład:

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

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

  • 141168968 – wprowadzono zmianę, aby we wszystkich danych wyjściowych dziennika wtyczki uwzględniać znak correlation_id. Poza tym w niektórych logach zmieniono poziomy logowania na error.
  • 140193349 – wprowadzono aktualizację edgemicro-auth proxy, aby wymagać weryfikacji klucza i klucza tajnego Edge Microgateway przy każdym żądaniu weryfikacji klucza interfejsu API. Edge Microgateway zostało zaktualizowane, aby zawsze wysyłać klucz i klucz tajny w każdym żądaniu weryfikacji klucza interfejsu API. Ta zmiana uniemożliwia klientom uzyskanie tokena JWT tylko za pomocą klucza interfejsu API.
  • 140090250 – wprowadzono aktualizację, która dodaje dzienniki diagnostyczne do przetwarzania limitów. Dzięki tej zmianie można teraz powiązać dane wyjściowe logów limitów z pozostałymi logami Edge Microgateway.

3.0.7

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

Wersje komponentów:

W tabeli poniżej znajdziesz numery wersji poszczególnych projektów komponentów powiązanych z Edge Microgateway 3.0.7. Pamiętaj, że każdy komponent jest osobnym projektem, więc numery wersji mogą nie odpowiadać wersji głównego produktu:

mikro-brama 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. Wtyczka OAuth została zaktualizowana, aby w odpowiednich przypadkach zwracać kod stanu 5xx. Wcześniej wtyczka zwracała kody stanu 4xx we wszystkich przypadkach innych niż 200. Teraz w przypadku każdej odpowiedzi na wiadomość, która nie ma stanu 200, zwracany będzie dokładny kod 4xx lub 5xx w zależności od błędu.

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

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623. W wersji 3.0.6 dodaliśmy nową właściwość konfiguracji: quota.quotaUri. Ustaw tę właściwość konfiguracji, jeśli chcesz zarządzać limitami za pomocą edgemicro-auth serwera proxy wdrożonego w Twojej organizacji. Jeśli ta właściwość nie jest ustawiona, punkt końcowy limitu domyślnie przyjmuje wartość wewnętrznego punktu końcowego Edge Microgateway. Na przykład:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    W wersji 3.0.7 zaktualizowano edgemicro-auth, aby akceptować tę nową konfigurację. Aby używać właściwości quotaUri, musisz przejść na najnowszą wersję serwera proxy edgemicro-auth. Szczegółowe informacje znajdziesz w artykule Uaktualnianie serwera proxy edgemicro-auth.

  • 140470888 – do wywołań związanych z limitami dodano nagłówek autoryzacji, aby zapewnić uwierzytelnianie. Zmodyfikowano też serwer proxy edgemicro-auth, aby usunąć z identyfikatora limitu słowo „organization”. Ponieważ punkt końcowy limitu znajduje się w organizacji klienta, identyfikator limitu nie jest już potrzebny.
  • 140823165 – nazwa tej usługi:
    edgemicro:
        keepAliveTimeout

    została nieprawidłowo udokumentowana w wersji 3.0.6. Prawidłowa nazwa usługi to:

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

3.0.6

W czwartek 29 sierpnia wprowadziliśmy te poprawki i ulepszenia w mikro-bramie Edge:

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

    Na przykład:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 – dodano nową właściwość konfiguracji quotaUri. Ustaw tę właściwość konfiguracji, jeśli chcesz zarządzać limitami za pomocą serwera proxy edgemicro-auth wdrożonego w Twojej organizacji. Jeśli ta właściwość nie jest ustawiona, punkt końcowy limitu domyślnie przyjmuje 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ć w organizacji najnowszą wersję edgemicro-auth proxy. Szczegółowe informacje znajdziesz w artykule Uaktualnianie serwera proxy edgemicro-auth.

  • 138722809. Dodaliśmy nową właściwość konfiguracji: stack_trace. Ta właściwość pozwala określić, czy ślady stosu mają się pojawiać w plikach dziennika. Na przykład:
    stack_trace: false

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

3.0.5

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

Naprawione błędy
  • 139005279 – rozwiązaliśmy problem polegający na tym, że polecenie edgemicro status nie zwracało prawidłowej liczby procesów roboczych.
  • 138437710 – rozwiązaliśmy problem w klasie ExitCounter, który uniemożliwiał zapisanie prawidłowego dziennika.
Ogólne ulepszenia komunikatów dziennika
  • 139064652. Dodano możliwość dodawania poziomów rejestrowania tracedebug w przypadku zdarzeń i logów systemowych. Na razie dodaliśmy tylko możliwość dodawania tych poziomów logowania. Obecnie dostępne poziomy logowania to info, warnerror.
  • 139064616. Dane wyjściowe logu zostały ujednolicone dla wszystkich instrukcji logowania w konsoli. Instrukcje logowania w konsoli zawierają teraz te atrybuty:
    • Sygnatura czasowa
    • Nazwa komponentu
    • Identyfikator procesu
    • Komunikat w logu konsoli
Ulepszenia wiadomości dziennika klucza i klucza tajnego JWT
  • 138413755. Ulepsz komunikaty dziennika związane z kluczem i tajnym kluczem JWT w przypadku tych poleceń interfejsu CLI: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey i configure.
Ulepszenia komunikatów o błędach limitu czasu i odmowy połączenia
  • 138413577. Dodanie i ulepszenie obsługi błędów w przypadku przekroczenia limitu czasu usługi backendu.
  • 138413303. Dodanie i ulepszenie obsługi błędów w przypadku przekroczenia limitu czasu odpowiedzi i gniazda.
  • 138414116. Dodanie i ulepszenie obsługi błędów „odmowa połączenia”.

3.0.4

W czwartek 1 sierpnia wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

  • 134445926 – ulepszenia wewnętrznego uwierzytelniania Edge Microgateway.
  • 137582169. Rozwiązaliśmy problem, który powodował uruchamianie niechcianych procesów. Dodatkowe procesy spowodowały ponowne wczytanie wtyczek i nadmierne wykorzystanie pamięci. Edge Microgateway utrzymuje teraz liczbę procesów w oczekiwanym zakresie.
  • 137768774. Ulepszenia wiadomości w logu:
    • oczyszczone logi transakcji (żądania);
    • Dodano więcej wiadomości dziennika w miejscach, w których były potrzebne.
    • Przeniesiono komunikaty logu transakcji (żądania) z danych wyjściowych konsoli do odpowiedniego pliku logu.
    • Zaktualizowaliśmy logi konsoli, aby korzystały z scentralizowanej funkcji logowania.
  • 138321133, 138320563 – podstawowa zmiana wewnętrzna dotycząca bufora limitu, która umożliwi wprowadzenie w przyszłości ulepszeń limitów.

3.0.3

We wtorek 23 lipca wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

  • Ulepszenia logowania: istniejące dzienniki czasu działania korzystają z nowej funkcji eventLog(), która rejestruje i loguje dane czasu działania w spójnym formacie. Informacje w logu obejmują:
    • Sygnatura czasowa (zgodna z normą ISO 8601: RRRR-MM-DDTHH:mm:ss.sssZ).
    • Poziom logu (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 nastąpiło logowanie.
    • Nazwa organizacji Apigee.
    • Nazwa środowiska w organizacji.
    • Nazwa proxy interfejsu API.
    • Adres IP klienta.
    • ClientId.
    • Identyfikator korelacji (obecnie nie jest ustawiony).
    • Nazwa komponentu Edge Microgateway.
    • Wiadomość niestandardowa – niektóre obiekty mogą drukować dodatkowe informacje przekazywane do tej właściwości błędu.
    • Metoda żądania (w przypadku żądania HTTP).
    • Kod stanu odpowiedzi (w przypadku żądania HTTP).
    • Komunikat o błędzie.
    • Kod błędu – jeśli obiekt zawiera kod błędu, jest on drukowany w tej właściwości.
    • Czas trwania.
    • System operacyjny znacznik końca wiersza.

    Wartości właściwości null powodują wyświetlanie pustych nawiasów [].

    Poniżej znajdziesz przykład formatu logu:

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

    (137770055)

  • Wyniki: produkty interfejsu API nie były filtrowane na podstawie środowiska. Ten problem został rozwiązany. (135038879)
  • Różne integracje testów funkcjonalnych i ulepszenia jakości kodu.

3.0.2

W środę 3 lipca 2019 roku wprowadziliśmy w Edge Microgateway te poprawki i ulepszenia:

Jakość kodu – kod został sprawdzony pod kątem jakości i wprowadzono w nim zmiany, aby spełniał standardy jakości wymagane przez użytkowników. Usunęliśmy błędy i ostrzeżenia dotyczące jakości kodu pochodzące z JSHint. W rezultacie wykryto i naprawiono niektóre rzeczywiste błędy w kodzie. Wszystkie moduły Apigee Edge Microgateway przeszły ten proces. Zobacz zmiany z 28 czerwca i 2 lipca w przypadku microgateway-config, microgateway-core, microgateway-pluginsmicrogateway. Wszystkie moduły, w których wprowadzono zmiany dotyczące jakości kodu, zostały przetestowane za pomocą narzędzi wewnętrznych, które weryfikują działanie Edge Microgateway w przypadku zastosowań klientów.

3.0.1

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

  • 134834551 - Change the supported Node.js versions for Edge Microgateway
    (Node.js supported versions: 8 and 12; versions 7, 9, and 11 are experimental)
  • 134751883. Edge Microgateway ulega awarii podczas ponownego wczytywania pod obciążeniem
  • 134518428. Punkt końcowy Products w Edge Microgateway zwraca kod 5XX, jeśli wzorzec filtra jest nieprawidłowy
  • 135113408 - Workers should restart if they terminate unexpectedly
  • 134945852 - tokenCacheSize is not used in oauth plug-in
  • 134947757 - set cacheTTL in oauth plug-in
  • 135445171 - gracePeriod calculation in OAuth is not correct
  • Użyj modułu memored dostarczonego z instalacją Edge Microgateway.
  • 135367906 - Security audit

Wersja 2.5.x

Nowe funkcje i ulepszenia w wersji 2.5.x

(Poprawiono w wersji 2.5.38, 06.07.2019)

Nieprawidłowo sformatowane tokeny JWT mogą powodować awarie procesów roboczych podczas korzystania z pamięci podręcznej tokenów. Naprawiono w module wtyczek mikrobramy Edge. (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 do uwierzytelniania interfejsów API zarządzania. Zobacz też Zarządzanie certyfikatami.

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

Możesz użyć flagi mgdebug z poleceniem edgemicroctl. Zobacz też zadania integracji z Kubernetes.

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

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

Dodaliśmy nowy interfejs API edgemicro-auth/token, który umożliwia przekazywanie klucza klienta i klucza tajnego jako nagłówka autoryzacji podstawowej zakodowanego w Base64 oraz grant_type jako parametru formularza. Zobacz Bezpośrednie uzyskiwanie tokenów dostępu.

(Poprawka w wersji 2.5.31) Konfiguracja prywatna nie uwzględnia flagi tokena

Rozwiązaliśmy problem, który powodował, że skonfigurowanie 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 certyfikatów z podpisem własnym

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

Docker: obsługa TLS

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

Poniższe przykłady szczegółowo wyjaśniają, jak skonfigurować te ustawienia TLS:

Z tych przykładów dowiesz się, jak używać punktu podłączenia kontenera /opt/apigee/.edgemicro do wczytywania certyfikatów, do których odwołuje się plik konfiguracyjny Edge Microgateway.

Docker: obsługa przekazywania żądań

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

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

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

Docker: zaktualizowane instrukcje dotyczące wtyczki

(Dodano 2.5.27) Jeśli używasz Edge Microgateway w kontenerze Docker, masz teraz 2 możliwości wdrażania wtyczek. Jedna z opcji, korzystająca z punktu montowania Dockera, jest nowa. Druga opcja istniała wcześniej i w zasadzie nie uległa zmianie, ale plik Dockerfile został zaktualizowany. Szczegółowe informacje znajdziesz w tych artykułach:

Nowa obsługa tokenów OAuth w przypadku polecenia uaktualniania KVM

(Dodano 25.02.2027) 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 wtyczki analitycznej umożliwiają wyodrębnienie konkretnej ścieżki interfejsu API, tak aby na panelach Edge Analytics była widoczna jako osobny serwer proxy. Możesz na przykład oddzielić interfejsy API kontroli stanu, aby nie mylić ich z rzeczywistymi wywołaniami interfejsu API. Więcej informacji znajdziesz w artykule Wykluczanie ścieżek z analizy.

Konfigurowanie lokalnego serwera proxy

(Dodano 2.5.25) W przypadku lokalnego serwera proxy nie musisz ręcznie tworzyć serwera proxy obsługującego mikrobramę w Apigee Edge. Zamiast tego mikrobrama będzie używać ścieżki podstawowej lokalnego serwera proxy. Więcej informacji znajdziesz w artykule Korzystanie z trybu lokalnego serwera proxy.

Korzystanie z trybu samodzielnego

(Dodano 2.5.25) Możesz uruchomić Edge Microgateway całkowicie odłączony od wszelkich zależności Apigee Edge. W tym scenariuszu, zwanym trybem samodzielnym, możesz uruchamiać i testować Edge Microgateway bez połączenia z internetem. Więcej informacji znajdziesz w artykule Uruchamianie Edge Microgateway w trybie samodzielnym.

Cofanie kluczy

(Dodano 2.5.19) Dodano nowe polecenie CLI, które cofa 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 Cofanie 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

Obsługa Kubernetes

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

Obsługa opcji TCP nodelay

(Dodano w wersji 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 nodelay na true wyłącza to działanie (dane będą wysyłane natychmiast za każdym razem, gdy zostanie wywołana funkcja socket.write()). Więcej informacji znajdziesz 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 interfejsu wiersza poleceń do monitorowania ciągłego

(Dodano 2.5.12) Do polecenia edgemicro forever dodano nowe parametry. Te parametry umożliwiają określenie lokalizacji pliku forever.json oraz rozpoczęcie lub zatrzymanie procesu w tle Forever. Zobacz też Stałe monitorowanie

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

Dodaliśmy nową funkcję, która umożliwia rotację par kluczy publiczny/prywatny używanych do generowania tokenów JWT na potrzeby zabezpieczeń OAuth w Edge Microgateway. Zobacz wykonywanie rotacji kluczy JWT.

Filtrowanie pobranych serwerów proxy interfejsu API

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

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

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

Obsługa stałego monitorowania

Edge Microgateway ma plik forever.json, który możesz skonfigurować, aby określić, ile razy i w jakich odstępach czasu Edge Microgateway ma być ponownie uruchamiany. Ten plik konfiguruje usługę o nazwie forever-monitor, która zarządza programem Forever. Zobacz Stałe monitorowanie.

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ć, określając punkt końcowy HTTP, z którego Edge Micro może pobrać plik konfiguracji. Zobacz Określanie punktu końcowego pliku konfiguracji.

Obsługa opcji interfejsu wiersza poleceń 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 config musiał znajdować się w katalogu głównym Edge Microgateway.

Na przykład:

edgemicro forever ~/mydir/forever.json

Dodanie opcji configUrl do polecenia reload

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

Okres prolongaty w przypadku rozbieżności w czasie tokena JWT

(Dodano w wersji 2.5.7) Atrybut gracePeriod w konfiguracji OAuth pomaga zapobiegać błędom spowodowanym przez niewielkie rozbieżności między zegarem systemowym a czasami Not Before (nbf) lub Issued At (iat) określonymi 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 przez niewielkie rozbieżności między zegarem systemowym a czasami Not Before (nbf) lub Issued At (iat) określonymi 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) Poprawienie literówki w instrukcji czyszczenia pamięci podręcznej.
  • (Problem nr 234) Ponowne wczytywanie powoduje awarię Edge Microgateway w wersji 2.5.35.
  • (Problem nr 135) Błąd „Invalid virtual host reference "secure"” (Nieprawidłowe odwołanie do hosta wirtualnego „secure”) podczas używania opcji -v. Ta poprawka modyfikuje serwer proxy edgemicro-auth przed wdrożeniem, aby zapewnić, że hosty wirtualne dokładnie odpowiadają temu, co jest określone we fladze „-v”. Dodatkowo możesz określić dowolną liczbę i dowolną nazwę hosta wirtualnego (nie jest już ograniczona do domyślnego i bezpiecznego).
  • (Problem 141) Polecenie edgemicro reload nie obsługuje opcji pliku konfiguracji -c. Naprawiliśmy ten problem.
  • (Problem nr 142) Edge Microgateway zgłasza w momencie instalacji, że używa przestarzałego szyfrowania. Naprawiliśmy ten problem.
  • (Problem nr 145) Limit nie działa w przypadku Edge Microgateway. Naprawiliśmy ten problem.
  • (Problem na forum Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) Token JWT weryfikowany w odniesieniu do serwerów proxy interfejsu API i identyfikatora URI zasobu w OAUTH. Ten problem został rozwiązany.
  • (Problem na forum Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Mikrogateway nie działa z OAuth. Naprawiliśmy ten problem.
  • Naprawiono pidPath w systemie Windows.
  • (Problem 157) Naprawiono problem, który powodował wyświetlanie tego komunikatu o błędzie:ReferenceError: deployProxyWithPassword nie jest zdefiniowane.
  • (Problem nr 169) Aktualizacja zależności Node.js (npm audit)
  • Serwer proxy edgemicro-auth korzysta teraz z zasad JWT Edge. Serwer proxy nie zależy już od Node.js w zakresie obsługi JWT.

Wersja 2.4.x

Nowe funkcje i ulepszenia w wersji 2.4.x

1. Ustawianie niestandardowego aliasu dla serwera proxy edgemicro-auth (PR 116)

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

Przykład:

edgemicro configure -x /mypath …


2. Obsługa symboli wieloznacznych w przypadku ścieżek 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 umożliwia klientom wywoływanie adresów https://[host]/team/blue/members i https://[host]/team/green/members bez konieczności tworzenia nowych serwerów proxy interfejsu API na potrzeby 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ługiwany ten format: /*/search.

3. Ścieżka konfiguracji niestandardowej dodana do interfejsu CLI w konfiguracji Private Cloud (PR 99)

Domyślnie plik konfiguracji mikrobramy znajduje się w lokalizacji ./config/config.yaml. W przypadku poleceń init, configure i start możesz teraz określić niestandardową ścieżkę konfiguracji w wierszu poleceń za pomocą flag -c lub --configDir. Rozwiązaliśmy problem, który powodował, że niestandardowy katalog konfiguracji w instalacjach 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 Edge Microgateway jest zainstalowany za zaporą i nie może komunikować się z Apigee Edge w chmurze publicznej, masz do wyboru 2 opcje:

Opcja 1:

Pierwsza opcja polega na ustawieniu w pliku konfiguracyjnym mikrobramy wartości „true” dla opcji edgemicro: proxy_tunnel:

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

Gdy wartość parametru proxy_tunnel to true, Edge Microgateway używa metody HTTP CONNECT do tunelowania żądań HTTP przez jedno połączenie TCP. (To samo dotyczy sytuacji, gdy zmienne środowiskowe do konfigurowania serwera proxy mają włączony protokół TLS).

Opcja 2:

Druga opcja to określenie serwera proxy i ustawienie wartości proxy_tunnel na false w pliku konfiguracyjnym mikrobramy. Na przykład:

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

W takim przypadku możesz ustawić te zmienne, aby kontrolować hosty dla każdego serwera proxy HTTP, którego chcesz używać, lub hosty, które nie powinny obsługiwać serwerów proxy Edge Microgateway: HTTP_PROXY, HTTPS_PROXYNO_PROXY. Możesz ustawić NO_PROXY jako listę domen rozdzielonych przecinkami, do których Edge Microgateway nie powinien przekazywać żądań. 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ń kierowanych na środowisko docelowe (PR 57)

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

edgemicro:
    request_timeout: 10

Czas oczekiwania jest podawany w sekundach. Jeśli upłynie czas oczekiwania, Edge Microgateway odpowie kodem stanu 504.

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

Edge Microgateway uwzględnia niestandardowe komunikaty o stanie HTTP ustawione w odpowiedzi docelowej. W poprzednich wersjach komunikaty o stanie wysyłane z urządzenia docelowego były zastępowane domyślnymi ustawieniami Node.js.

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

Jeśli nagłówek X-Forwarded-For jest obecny, ustawi zmienną client_ip, która jest raportowana w Edge Analytics. Ta funkcja umożliwia poznanie adresu IP klienta, który wysłał żądanie do Edge Microgateway.

8. Zmiany w pluginie OAuth

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

Wtyczka OAuth dodaje 2 nowe flagi:

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

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

Te flagi ustawia się 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 usłudze proxy edgemicro-auth. Przed wprowadzeniem tych zmian serwer proxy przechowywał klucze w Edge Secure Store, czyli zaszyfrowanym magazynie. Teraz serwer proxy przechowuje klucze na zaszyfrowanej mapie klucz-wartość (KVM) Edge.

10. Przepisywanie domyślnego docelowego adresu URL w przypadku wtyczki (PR 74)

Możesz też zastąpić port docelowego punktu końcowego i wybrać protokół HTTP lub HTTPS. Zmodyfikuj te zmienne w kodzie wtyczki: req.targetPortreq.targetSecure. Aby wybrać HTTPS, ustaw wartość req.targetSecure na true. Aby wybrać HTTP, ustaw ją na false. Jeśli ustawisz wartość req.targetSecure na true, więcej informacji znajdziesz w tym wątku dyskusji.

11. Wstępna 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 poleceniu edgemicro configure:

-t, --token <token>

Na przykład:

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

Poprawione błędy w wersji 2.4.3

  • Rozwiązaliśmy problem, który powodował, że do prawidłowego działania serwera proxy edgemicro-auth wymagana była płatna organizacja. Teraz możesz używać Edge Microgateway również w organizacjach testowych. (PR 5)
  • Rozwiązaliśmy problem polegający na tym, że strumień nie kończył przetwarzania danych, ale mimo to wykonywane były procedury obsługi zakończenia. Spowodowało to wysłanie odpowiedzi częściowej. (PR 71)
  • Rozwiązaliśmy problem, który powodował, że niestandardowy katalog konfiguracji w przypadku instalacji chmury prywatnej nie był rozpoznawany. (PR 110)
  • Rozwiązaliśmy problem z dwukierunkowym protokołem SSL między klientem a Edge Microgateway. (PR 70)
  • Rozwiązaliśmy problem, który powodował, że w przypadku weryfikacji klucza interfejsu API wymagany był ukośnik na końcu ścieżki podstawowej serwera proxy. Teraz na końcu ścieżki podstawowej nie jest potrzebny ukośnik. (PR 48)

Wersja 2.3.5

Nowe funkcje i ulepszenia w wersji 2.3.5

Filtrowanie proxy

Możesz filtrować, które serwery proxy obsługujące mikrobramę będą przetwarzane przez instancję Edge Microgateway. Po uruchomieniu Edge Microgateway pobiera wszystkie serwery proxy obsługujące mikrobramę w organizacji, z którą jest powiązana. Skonfiguruj w ten sposób, aby ograniczyć liczbę serwerów proxy, które będzie przetwarzać mikrobrama. Na przykład ta konfiguracja ogranicza liczbę serwerów proxy, które będzie przetwarzać mikrobrama, do 3: edgemicro_proxy-1, edgemicro_proxy-2edgemicro_proxy-3:

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

Maskowanie danych Analytics

Nowa konfiguracja umożliwia ukrywanie informacji o ścieżce żądania w analizach Edge. Aby zamaskować identyfikator URI żądania lub ścieżkę żądania, dodaj do konfiguracji mikrobramy te elementy: Pamiętaj, że identyfikator URI składa się z 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 ulepszenia w tej wersji.

Wyłączanie automatycznego sprawdzania zmian

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

disabled_config_poll_interval: true

Domyślnie okresowe sprawdzanie wykrywa wszelkie zmiany wprowadzone w Edge (zmiany w produktach, serwerach proxy obsługujących mikrobramy itp.) oraz zmiany wprowadzone w lokalnym pliku konfiguracji. Domyślny interwał odpytywania to 600 sekund (5 minut).

Przepisywanie docelowych adresów URL w przypadku wtyczek

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

Nowy podpis funkcji wtyczki

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

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

Uproszczone domyślne dane wyjściowe logowania

Domyślnie usługa rejestrowania pomija teraz pliki JSON pobranych serwerów proxy, produktów i JWT. Możesz zmienić domyślne ustawienie, aby te obiekty były wyświetlane, ustawiając DEBUG=* podczas uruchamiania Edge Microgateway. Na przykład:

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

Ścieżka konfiguracji niestandardowej dodana do interfejsu CLI

Domyślnie plik konfiguracji mikrobramy 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 poleceń. Na przykład:

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

Poprawione błędy w wersji 2.3.3

  • Usunięto wyciek pamięci, który występował podczas obsługi dużych żądań i odpowiedzi.
  • Naprawiono kolejność wykonywania wtyczek. Działa teraz w sposób opisany w dokumentacji.
  • Wtyczka accumulate-request nie zawiesza się już w przypadku żądań GET.
  • W wtyczce accumulate-response rozwiązaliśmy problem, który powodował błędy z powodu braku treści odpowiedzi.

Wersja 2.3.1

Uwaga dotycząca instalacji

W niektórych poprzednich wersjach Edge Microgateway można było zainstalować oprogramowanie, pobierając plik 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 dotyczącym instalacji.

Nowe funkcje i ulepszenia w wersji 2.3.1

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

Filtrowanie serwerów proxy

Nowa konfiguracja umożliwia filtrowanie serwerów proxy, które Edge Microgateway będzie wczytywać podczas uruchamiania. Wcześniej mikrobrama wczytywała wszystkie serwery proxy obsługujące mikrobramę (serwery proxy o nazwie edgemicro_*) pobrane z organizacji/środowiska Edge określonego 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. Po prostu dodaj element proxies do pliku konfiguracji mikrobramy w ten sposób:

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

Załóżmy na przykład, że w organizacji/środowisku Edge masz 50 proxy edgemicro_*, w tym proxy o nazwach edgemicro_fooedgemicro_bar. Możesz poinformować mikrobramę, aby używała tylko tych 2 serwerów proxy, w ten sposób:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

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

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

Jeśli chcesz dodać lub zmodyfikować nagłówki żądań docelowych, możesz zastosować 2 podstawowe wzorce: jeden, w którym przychodzące żądanie zawiera dane (jak w przypadku żądania POST), i drugi, w którym ich nie zawiera (jak w przypadku prostego żądania GET).

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

Kluczem do tego wzorca jest najpierw zgromadzenie wszystkich przychodzących danych 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 miejsca docelowego:

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 onrequest()obsłudze. Ten wzorzec nie jest nowy – był już wcześniej opisany i jest używany w przykładowych wtyczkach dostarczanych z Edge Microgateway.

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

Funkcja ponownego ładowania bez przestoju

Po wprowadzeniu zmiany konfiguracji Edge Microgateway możesz załadować konfigurację bez utraty żadnych wiadomości. W związku z tą zmianą 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 interfejsu wiersza poleceń. Te polecenia musisz uruchomić w tym samym katalogu, w którym zostało wykonane polecenie startowe edgemicro:

  • edgemicro status – sprawdza, czy Edge Microgateway jest uruchomiony.
  • edgemicro stop – zatrzymuje klaster Edge Microgateway.
  • edgemicro reload – ponownie wczytuje konfigurację Edge Microgateway bez przestoju.

Automatyczne ponowne wczytywanie konfiguracji bez przestojów

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

edgemicro:
    config_change_poll_interval: [seconds]

Dodano informacje o wersji do interfejsu wiersza poleceń

Do interfejsu CLI dodano flagę --version. Aby uzyskać bieżącą wersję Edge Microgateway, użyj tego polecenia:

edgemicro --version

Nowe opcje protokołu SSL serwera Edge Microgateway

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, rozdzielony znakiem „:”.
rejectUnauthorized Jeśli wartość to „true”, certyfikat serwera jest weryfikowany na podstawie listy dostarczonych urzędów certyfikacji. Jeśli weryfikacja się nie powiedzie, zwracany jest 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 stdout

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 ulepszenia w tej wersji.

Zezwalaj na niestandardowy punkt końcowy interfejsu API na potrzeby konfiguracji

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

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Więcej informacji znajdziesz w artykule Korzystanie z niestandardowej usługi uwierzytelniania.

Wersja 2.1.1

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

Wdrażanie serwera proxy uwierzytelniania zgodnego z wieloma platformami

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

Wersja 2.1.0

Nowe funkcje i ulepszenia w wersji 21.0

Oto nowe funkcje i ulepszenia:

Określanie opcji SSL/TLS klienta

Możesz określić opcje klienta dla połączeń SSL/TSL z celami za pomocą nowego zestawu opcji konfiguracji. Zobacz Korzystanie z opcji SSL/TLS klienta.

Wersja 2.0.11

Uwaga dotycząca instalacji w wersji 2.0.11

W niektórych poprzednich wersjach Edge Microgateway można było zainstalować oprogramowanie, pobierając plik 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 dotyczącym 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 poleceniu start.

Opcjonalne zachowywanie nagłówków uwierzytelniania

Nowe ustawienie konfiguracji keepAuthHeader umożliwia zachowanie nagłówka autoryzacji wysłanego w żądaniu. Jeśli ma wartość true, nagłówek Auth jest przekazywany do miejsca docelowego. 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 konfiguracyjnym Edge Microgateway tak, aby wskazywała Twoją usługę. Szczegółowe informacje znajdziesz w artykule Korzystanie z niestandardowej usługi uwierzytelniania.

Wersja 2.0.4

25 maja 2016 r.udostępniliśmy Edge Microgateway w wersji 2.0.4.

Nowe funkcje i ulepszenia w wersji 2.0.4

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

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

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

Obsługa instalacji globalnej npm

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

Wersja 2.0.0

Wersja 2.0.0 Edge Microgateway została opublikowana 18 kwietnia 2016 r.

Nowe funkcje i ulepszenia w wersji 2.0.0

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

Serwer pojedynczego procesu

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

Pliki konfiguracji z przestrzenią nazw

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

Nowe zmienne środowiskowe

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

Konfiguracja w pamięci podręcznej

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

Tryb klastra

Teraz można uruchomić Edge Microgateway w trybie klastra. Tryb klastra umożliwia korzystanie z systemów wielordzeniowych. Mikrogateway korzysta z modułu klastra Node.js. Szczegółowe informacje znajdziesz w dokumentacji Node.js.

Poprawione błędy w wersji 2.0.0

Cykl życia zdarzenia wtyczki prawidłowo obsługuje teraz kod asynchroniczny, który zawiera kod z nowym wywołaniem zwrotnym.

Wersja 1.1.2

Wersja 1.1.2 Edge Microgateway została wydana 14 marca 2016 r.

Nowe funkcje i ulepszenia w wersji 1.1.2

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

Zwiększanie skuteczności

Edge Microgateway używa teraz prawidłowo agenta HTTP Node.js, co zapewnia lepsze pulowanie 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ł ze zdalnym debugerem, takim jak node-inspector.

Nowa lokalizacja pliku konfiguracyjnego

Po skonfigurowaniu Edge Microgateway plik agent/config/default.yaml zostanie skopiowany do ~./edgemicro/config.yaml.

Rotacja plików dziennika

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

Poprawki błędów w wersji 1.1.2

W wersji 1.1.2 naprawiono te błędy:

Opis
Wywołanie Java w przypadku wewnętrznego serwera proxy edgemicro używanego z lokalną wersją Edge korzysta teraz z odpowiedniego serwera MGMT.
Usuń zależności TypeScript z agenta.
Naprawiono błąd interfejsu wiersza poleceń podczas korzystania z opcji uproszczonego wdrażania.
Napraw odwołanie do zależności logiki certyfikatu.