Примечания к выпуску Edge Microgateway

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Версия 3.3.х

Исправления ошибок и улучшения версии 3.3.x

3.3.5

В пятницу, 20 декабря 2024 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.3.5. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.3.5 3.3.5 3.3.5 3.3.5 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
383024578 Особенность

Мы добавили поддержку Node.js версии 22 и удалили поддержку версии 16. Если вы используете Node.js v18, Edge Microgateway выводит следующее сообщение об ошибке при запуске:

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

Если вы используете более раннюю версию Node.js, вы увидите это сообщение об ошибке:

You are using a version of NodeJS that is not supported

Исправлены проблемы с безопасностью

  • 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.x

3.3.4

18 сентября 2024 г. мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.3.4. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.3.4 3.3.4 3.3.4 3.3.4 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
675987751 Ошибка

Исправлена ​​проблема, из-за которой Edge Microgateway не регистрировал IP-адреса клиентов.

Исправлены проблемы с безопасностью

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

3.3.3

25 апреля 2024 г. мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.3.3. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.3.3 3.3.3 3.3.3 3.3.3 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
315939218 Удаленный

Клиентский плагин Eureka был удален из Edge Microgateway. Удаление этой функции не влияет на основные функции Edge Microgateway и не влияет на перезапись целевых URL-адресов. Дополнительные сведения см. в разделе «Перезапись целевых URL-адресов в плагинах» .

283947053 Удаленный

Поддержка forever-monitor была удалена из Edge Microgateway. Вы можете заменить forever-monitor на PM2. Подробности см. в этом сообщении сообщества Apigee: Edgemicro + PM2: запуск Edgemicro как службы .

Исправлены проблемы с безопасностью

  • 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 августа 2023 г. мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.3.2. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
296187679 Особенность

Поддерживаемые версии Node.js : 16, 18 и 20. Начиная с версии 3.3.2, команды CLI Edge Microgateway будут работать только в поддерживаемых версиях. Выполнение команд CLI в неподдерживаемых версиях приведет к ошибке. См. также раздел Поддерживаемое Apigee программное обеспечение и поддерживаемые версии .

283947053 Ошибка

Исправлена ​​проблема, из-за которой Edge Microgateway возвращал первый продукт API в списке продуктов API, связанных с приложением. Теперь мы определяем правильный продукт API для возврата на основе запроса.

274443329 Ошибка

Исправлена ​​проблема, из-за которой Docker извлекал устаревшую версию образа. Версия узла Docker обновлена ​​до Node.js версии 18. Теперь мы собираем образ Docker с версией 18.17-buster-slim .

Исправлены проблемы с безопасностью

Никто.

3.3.1

7 июня 2022 г. мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.3.1. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
220885293 Особенность

Node.js версии 16 теперь поддерживается.

231972608 Ошибка

Исправлена ​​проблема, из-за которой команда private configure выдавала ошибку при попытке настроить частное облако.

233315475 Ошибка

Исправлена ​​проблема, из-за которой плагин json2xml выдавал ошибку синтаксического анализа при преобразовании ответа из JSON в XML и при использовании в сочетании с плагином accumulate-response .

221432797 Изменять

Версия Docker Node.js базового образа Edge Microgateway была обновлена ​​до Node.js 14.

215748732 Особенность

В команду revokekeys добавлена ​​поддержка аутентификации по токену SAML.

Теперь вы можете передать токен SAML вместо учетных данных имени пользователя и пароля, используя опцию -t в команде revokekeys .

Подробности см. в справочнике по командной строке .

218723889 Обновление документа

Документация была обновлена ​​и теперь включает ссылку на поддерживаемые плагины Edge Microgateway, хранящиеся на GitHub. См . раздел «Существующие плагины, входящие в состав Edge Microgateway» .

Исправлены проблемы с безопасностью

Идентификатор проблемы Описание
CVE-2021-23413 Это влияет на пакет jszip до версии 3.7.0. Создание нового zip-файла с именами файлов, для которых установлены значения прототипа объекта (например, proto, toString и т. д.), приводит к возвращению объекта с измененным экземпляром прототипа.

3.3.0

4 февраля 2022 г. мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.3.0. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
219556824 Известная проблема Edge Microgateway Gateway 3.3.0 несовместим с командой npm Audit Fix .

Выполнение npm audit fix приводит к обновлению apigeetool до версии 0.15.2, что влияет на команду edgemicro upgradeauth .

Если вы выполните npm audit fix , а затем выполните edgemicro upgradeauth , вы увидите эту ошибку:

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

Чтобы исправить проблему, выполните следующую команду, чтобы восстановить правильную версию apigeetool :

npm install apigeetool@0.15.1

Эта проблема будет решена в будущей версии Edge Microgateway.

138622990 Особенность

Новый флаг для плагина Quota, isHTTPStatusTooManyRequestEnabled , настраивает плагин на возврат статуса ответа HTTP 429 вместо статуса 403 в случае нарушения квоты. См. Параметры конфигурации для квоты .

192534424 Ошибка

Исправлена ​​проблема, из-за которой код ответа, отображаемый в аналитике Apigee, не соответствовал коду ответа Edge Microgateway.

198986036 Улучшение Edge Microgateway теперь извлекает открытый ключ поставщика удостоверений (IDP) при каждом интервале опроса, а также обновляет ключ в случае изменения открытого ключа IDP. Ранее плагин extauth не мог обновить открытый ключ без перезагрузки Edge Microgateway, если открытый ключ IDP изменился.
168713541 Ошибка

Документация была расширена и теперь объясняет, как настроить TLS/SSL для нескольких целей. См. Использование параметров клиента SSL/TLS .

171538483 Ошибка

Документация была изменена, чтобы исправить соглашение об именовании файлов журнала. См . раздел Соглашения об именах файлов журналов .

157908466 Ошибка

Документация была изменена, чтобы правильно объяснить, как установить конкретную версию Edge Microgateway. См . раздел Обновление Edge Microgateway, если у вас есть подключение к Интернету .

215748427 Ошибка Исправлена ​​проблема, из-за которой команда revokekeys возвращала ошибку при отзыве ключа с использованием существующей пары ключа и секрета.
205524197 Ошибка Документация была обновлена ​​и теперь включает полный список уровней ведения журнала. См. раздел «Атрибуты Edgemicro» и «Как установить уровень ведения журнала» .

Версия 3.2.х

Исправления ошибок и улучшения версии 3.2.x

3.2.3

17 сентября 2021 г. мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.2.3. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
192416584 Особенность

Атрибут конфигурации disableStrictLogFile позволяет ослабить строгие права доступа к файлу журнала приложения api-log.log . Подробности см. в разделе «Как ослабить права доступа к файлу журнала» .

192799989 Особенность

Атрибут конфигурации on_target_response_abort позволяет вам контролировать поведение Edge Microgateway, если соединение между клиентом (Edge Microgateway) и целевым сервером закрывается преждевременно. Подробности см. в разделе атрибуты Edgemicro .

148062415 Ошибка Исправлена ​​проблема, из-за которой в контексте контейнера Docker Edge Microgateway не завершал работу корректно с помощью команды docker stop {containerId} . Процесс был остановлен, но файлы .sock и .pid не были удалены. Теперь файлы удалены, и перезапуск того же контейнера работает как положено.
190715670 Ошибка Исправлена ​​проблема, из-за которой некоторые запросы зависали во время внутренней перезагрузки микрошлюза. Эта проблема носила периодический характер и возникала в ситуациях с интенсивным движением транспорта. Проблема наблюдалась при использовании функций tokenCache и cacheKey плагина OAuth.
183910111 Ошибка Исправлена ​​проблема, из-за которой URL-адрес пути к ресурсу с косой чертой на конце неправильно интерпретировался как отдельный путь к ресурсу. Теперь, например, пути /country/all и /country/all/ интерпретируются как один и тот же путь.

Исправлены проблемы с безопасностью

Идентификатор проблемы Описание
CVE-2020-28503 Копии пакета до версии 2.0.5 уязвимы к загрязнению прототипов через основную функциональность.
CVE-2021-23343 Все версии анализа пути пакета уязвимы к отказу в обслуживании с использованием регулярных выражений (ReDoS) через регулярные выражения SplitDeviceRe, SplitTailRe и SplitPathRe. ReDoS демонстрирует полиномиальную временную сложность в худшем случае.

3.2.2

В четверг, 15 июля 2021 г., мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.2.2. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
185323500 Изменять

Значение expires_in изменено со строки на целое число

API-интерфейсы запроса токена и запроса токена обновления теперь возвращают expires_in как целочисленное значение, указанное в секундах.

В целях соответствия RFC 6749 Платформа авторизации OAuth 2.0 ожидаемое значение параметра конфигурации expires_in было изменено со строкового на целое число. Подробную информацию см. в разделе «Справочник по эксплуатации и настройке» .

188492065 Изменять Окончание поддержки Node.js 8

Начиная с версии 3.2.2 Node.js 8 больше не будет поддерживаться. Дополнительные сведения см. в разделе Поддерживаемое программное обеспечение и поддерживаемые версии: Edge Microgateway .

183990345 Особенность Настройка вывода журнала для контейнера Docker

Параметр конфигурации Edge Microgateway to_console позволяет отправлять информацию журнала на стандартный вывод, а не в файл журнала. Если вы выполните действия по запуску Edge Microgateway в контейнере Docker, контейнер по умолчанию перенаправляет стандартный вывод и выходные данные ошибок в файл, расположенный в контейнере по адресу: ${APIGEE_ROOT}/logs/edgemicro.log .

Чтобы предотвратить отправку информации журнала в edgemicro.log , используйте новую переменную LOG_CONSOLE_OUTPUT_TO_FILE при запуске контейнера.

Подробную информацию о том, как использовать эту новую переменную, см. в разделе «Использование Docker для Edge Microgateway» .

183057665 Особенность Сделайте пути к файлам edgemicro.pid и edgemicro.sock настраиваемыми.

Новый параметр -w, --workdir для запуска контейнера Docker с помощью Edge Microgateway позволяет указать путь к каталогу, в котором файлы edgemicro.sock и edgemicro.pid должны быть созданы в контейнере Docker. См. Использование Docker для Edge Microgateway .

191352643 Особенность Образ Docker для Edge Microgateway был обновлен для использования NodeJS версии 12.22. См. Использование Docker для Edge Microgateway .

Исправлены проблемы с безопасностью

Идентификатор проблемы Описание
CVE-2021-28860 В Node.js mixme до версии 0.5.1 злоумышленник может добавлять или изменять свойства объекта через «__proto__» с помощью функций mutate() и merge(). Атрибут «загрязненный» будет напрямую присвоен каждому объекту в программе. Это поставит доступность программы под угрозу и может привести к отказу в обслуживании (DoS).
CVE-2021-30246 В пакете jsrsasign до 10.1.13 для Node.js некоторые недействительные подписи RSA PKCS#1 v1.5 ошибочно признаются действительными. ПРИМЕЧАНИЕ. Практическая атака не известна.
CVE-2021-23358 Пакет подчеркивания версий 1.13.0-0 и ранее 1.13.0-2, 1.3.2 и ранее 1.12.1 уязвим к внедрению произвольного кода через функцию шаблона, особенно когда свойство переменной передается в качестве аргумента в том виде, в котором оно есть. не дезинфицируется.
CVE-2021-29469 Node-redis — это клиент Redis для Node.js. До версии 3.1.1, когда клиент находится в режиме мониторинга, регулярное выражение, используемое для обнаружения сообщений монитора, могло вызвать экспоненциальный возврат в некоторых строках. Эта проблема может привести к отказу в обслуживании. Проблема исправлена ​​в версии 3.1.1.
CVE-2020-8174 Образ Docker был обновлен для использования Node.js версии 12.22.

3.2.1

В пятницу, 5 марта 2021 г., мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.2.1. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
180362102 Ошибка Исправлена ​​проблема, из-за которой ключи JWK, имеющие нулевое значение, приводили к сбою приложений.

Условие null теперь обрабатывается, чтобы избежать передачи значения null в jwkPublicKeys .

Примечание. Это исправление требует обновления прокси-сервера EdgeMicro-Auth .

179971737 Ошибка Исправлена ​​проблема, из-за которой ответы о состоянии целевых 4XX/5XX регистрировались как ошибки прокси для прокси Edgemicro_* .

Для транзакций Edge Microgateway на панели анализа кодов ошибок Apigee Edge отображалось неправильное количество целевых ошибок. Коды ошибок для целевых ошибок считались ошибками прокси. Эта проблема исправлена, и теперь отображается правильное количество целевых ошибок.

179674670 Особенность Была добавлена ​​новая функция, позволяющая фильтровать список продуктов API, помещенных в JWT, на основе кодов состояния продуктов.

Продукты API имеют три кода статуса: «Ожидание», «Утверждено» и «Отменено». В политику установки переменных JWT в прокси-сервере Edgemicro-auth было добавлено новое свойство allowProductStatus называетсяallowProductStatus. Чтобы использовать это свойство для фильтрации продуктов API, перечисленных в JWT:

  1. Откройте прокси-сервер EdgeMicro-Auth в редакторе прокси Apigee.
  2. Добавьте allowProductStatus в XML-код политики SetJWTVariables и укажите разделенный запятыми список кодов состояния для фильтрации. Например, чтобы отфильтровать статусы «Ожидание» и «Отменено» :
    <?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>
    
    

    Если вы хотите, чтобы в списке отображались только утвержденные продукты, установите это свойство следующим образом:

    <Property name="allowProductStatus">Approved</Property>
  3. Сохраните прокси.

    Если тег Property отсутствует, продукты со всеми кодами состояния будут перечислены в JWT.

    Чтобы использовать это новое свойство, необходимо обновить прокси-сервер EdgeMicro-Auth .

178423436 Ошибка Значения ключей и секретов, передаваемые в CLI или через переменные среды, отображаются в аргументах командной строки проводника процессов.

Сообщалось о проблеме, из-за которой ключ и секретные значения Edge Microgateway, которые были переданы либо из аргументов командной строки, либо заданы через переменные среды, отображались в аргументах рабочих/дочерних процессов узла после запуска микрошлюза.

Чтобы устранить эту проблему для сценария с переменной среды, значения больше не отображаются в аргументах командной строки обозревателя процессов.

Если значения ключа и секрета передаются в командной строке при запуске микрошлюза, настройки заменяют любые значения переменных среды, если они установлены. В этом случае значения по-прежнему отображаются в аргументах командной строки проводника процессов.

178341593 Ошибка Исправлена ​​ошибка документации плагина apikeys .

Файл README плагина apikeys неправильно включал свойство gracePeriod . Мы удалили это свойство и его описание из README.

Свойство gracePeriod реализовано в плагине oauth . Чтобы использовать функцию льготного периода, вы должны использовать плагин oauth .

179366445 Ошибка Устранена проблема, из-за которой полезная нагрузка отбрасывалась для всех запросов GET к целевым объектам.

Вы можете контролировать желаемое поведение с помощью нового параметра конфигурации edgemicro: enable_GET_req_body . Если установлено значение true , заголовок запроса transfer-encoding: chunked добавляется ко всем запросам GET, а полезные данные GET, если они присутствуют, отправляются в цель. Если false (по умолчанию), полезная нагрузка автоматически удаляется перед отправкой запроса целевому объекту.

Например:

edgemicro:
 enable_GET_req_body: true

Согласно RFC 7231, раздел 4.3.1: GET , полезная нагрузка запроса GET не имеет определенной семантики, поэтому ее можно отправить цели.

3.2.0

В четверг, 21 января 2021 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.2.0. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
152640618 Ошибка Включен плагин extauth , чтобы заголовок x-api-key содержал client_id в объекте запроса, когда токен действителен. Затем x-api-key доступен для последующих плагинов.
168836123, 172295489, 176462355, 176462872 Особенность Добавлена ​​поддержка Node.js 14.
172376835 Ошибка Используйте правильную единицу времени для конечной точки /token в прокси-сервере edgemicro-auth .

Исправлена ​​проблема, из-за которой конечная точка /token в прокси-сервере edgemicro-auth возвращала expires_in через миллисекунды; однако согласно спецификации OAuth оно должно соответствовать единице времени refresh_token_expires_in , то есть секундам.

Исправление не меняет продолжительность срока действия, а только единицу времени. Это применимо только к полю expires_in в полезных данных ответа токена доступа. Токен JWT в той же полезной нагрузке ответа будет содержать два поля, iat и exp , и они генерируются правильно и всегда были с единицей времени seconds .

Если бы клиенты полагались на значение expires_in в миллисекундах для обновления токенов до истечения срока их действия, то применение этого исправления без изменения клиентов привело бы к гораздо более частым и ненужным обновлениям. Эти клиенты необходимо будет изменить, чтобы учесть изменение единиц времени, чтобы сохранить исходное поведение.

Если клиенты всегда использовали значения токена JWT для оценки периода обновления токена, то клиентам не нужно ничего менять.

173064680 Ошибка Исправлена ​​проблема, из-за которой микрошлюз завершал целевой запрос до того, как были обработаны все фрагменты данных.

Это периодически возникающая проблема, наблюдаемая при запросах большого размера полезной нагрузки, и эта проблема появилась в выпуске 3.1.7.

174640712 Ошибка Добавьте правильную обработку данных в плагины.

Правильная обработка данных была добавлена ​​в следующие плагины: json2xml , accumulate-request , accumulate-response и header-uppercase . Подробности о плагине см. в разделе microgateway-plugins .

Версия 3.1.х

Исправления ошибок и улучшения версии 3.1.x

3.1.8

В понедельник, 16 ноября 2020 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.8. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
169201295 Ошибка Числовые и логические значения неправильно анализировались в тегах переменных среды.

Обработка замены переменных среды анализировала все значения как строки, что приводило к ошибкам анализа логических или числовых значений. Например, edgemicro.port ожидает и требует числовое значение. Были внесены исправления для поддержки логических и числовых значений. Подробные сведения о конфигурации см. в разделе Установка атрибутов конфигурации со значениями переменных среды .

169202749 Ошибка Замена переменных среды в некоторых случаях не работала.

Обработка замены переменных среды не работала для некоторых атрибутов конфигурации. Информацию об ограничениях см. в разделе Настройка атрибутов конфигурации со значениями переменных среды .

168732942 Ошибка Исправлена ​​проблема, из-за которой области OAuth не ограничивали доступ к прокси-серверу API, как ожидалось.

Поток /token в прокси-сервере Edgemicro-auth генерировал JWT без правильных областей продукта, определенных в Edge, в результате двух разных сценариев: 1) полезная нагрузка запроса к потоку /token не передала параметр области или 2) недопустимый область действия была передана в полезных данных запроса в поток /token . Внесено исправление для возврата всех областей, определенных в продуктах API в Apigee Edge.

170609716 Ошибка Исправлена ​​проблема, из-за которой поток /refresh в прокси-сервере Edgemicro-auth создавал JWT без apiProductList .

170708611 Ошибка Области продукта API недоступны для пользовательских плагинов.

Области продукта API не были доступны для пользовательских плагинов и не записывались в файл конфигурации кэша. См. раздел «О функции init() плагина», чтобы узнать, как детали области становятся доступными для плагинов.

169810710 Особенность Ключ и секрет сохраняются в файле конфигурации кэша.

Ключ и секрет Edge Microgateway сохранялись в yaml-файле конфигурации кэша при каждой перезагрузке/запуске. В версии 3.1.8 ключ и секрет больше не сохраняются в файле конфигурации кэша. Если ключ и секрет ранее были записаны в файле конфигурации кэша, они будут удалены.

170708621 Особенность Невозможно отключить плагин аналитики.

В предыдущих версиях микрошлюза плагин аналитики был включен по умолчанию, и отключить его было невозможно. В версии 3.1.8 был введен новый параметр конфигурации enableAnalytics для включения или отключения плагина аналитики. Подробности см. в справочнике по конфигурации .

159571119 Ошибка Получение нулевой ошибки в ловушке onerror_request в пользовательских плагинах для тайм-аута ответа/сокета.

Были внесены исправления для заполнения правильного кода состояния HTTP и сообщения об ошибке для событий onerror_request , а также правильного сообщения об ошибке для событий onerror_response .

3.1.7

В четверг, 24 сентября 2020 г., мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.7. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
131708105 Ошибка Плагин analytics неправильно обработал нулевой ответ на вызовы axpublisher и заставил работников выйти.

133162200 Ошибка Информация о приложении разработчика не была заполнена в аналитике ни ответами о состоянии 403, вызванными неавторизованными путями к ресурсам продукта, ни ответами 401, вызванными просроченным или недействительным токеном.

132194290 Ошибка Записи аналитики отбрасываются, когда Apigee Edge отклоняет некоторые записи аналитики.

158618994 Ошибка Чрезмерное количество клиентских подключений Redis.

161404373 Ошибка В случае ответа о статусе 404 полный URI прокси-сервера был включен в ответное сообщение.
166356972 Ошибка

Запуск Edge Microgateway с Node.js версии 12.13.x или выше привел к следующей ошибке при выполнении плагинов, которые преобразуют полезные данные запроса:

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

168681746 Ошибка Ручная перезагрузка Edge Microgateway с помощью redisBasedConfigCache:true не работала.

149256174 Ошибка Ошибки плагина OAuth не регистрировались из-за сбоев сети.

166517190 Ошибка Данные jwk_public_keys не сохранялись и не извлекались Synchronizer и не хранились в Redis.

141659881 Ошибка Обработка ошибок недействительного целевого сертификата привела к вводящим в заблуждение ответам об ошибках.

142808699 Ошибка Плагин контроля доступа неправильно обрабатывал разделы «разрешить» и «запретить».

Микрошлюз теперь правильно обрабатывает раздел запрета и соблюдает порядок разделов «разрешить» и «запретить». В файл конфигурации микрошлюза было добавлено новое свойство noRuleMatchAction для обеспечения четности с политикой Apigee Edge AccessControl . См. также README плагина контроля доступа на GitHub.

3.1.6

В четверг, 20 августа 2020 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.6. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
163711992 Особенность Параметры расположения настраиваемых ключей и файлов сертификатов для команды RotateKey.

Подробную информацию об этих новых параметрах команды см. в разделе «Поворот клавиш» .

154838259 Ошибка Исправлена ​​ротация ключей для нескольких экземпляров в нескольких центрах обработки данных.

Подробную информацию об этих новых параметрах команды см. в разделе «Поворот клавиш» .

145525133 Альфа-функция Новые метрики плагина

Подробности см. в README новых показателей плагина на GitHub.

159396879 Ошибка Удалить неиспользуемый пакет Helper
161092943 Ошибка Проверка базового пути неверна.

До версии 3.1.6 базовый путь прокси-сервера сопоставлялся неправильно, если базовый путь не заканчивался на / .

Нижеследующее объясняет предыдущее поведение (которое исправлено в версии 3.1.6):

Предположим, что прокси-сервер настроен с использованием базового пути: /hello/v1 и целевого пути к https://mocktarget.apigee.net . Теперь предположим, что прокси получает следующие запросы:

Путь запроса Решенный путь Исход
/привет/v1/json https://mocktarget.apigee.net/json Разрешенный путь правильный, поскольку базовый путь /hello/v1 сопоставляется правильно.
Путь запроса Решенный путь Исход
/привет/v1json https://mocktarget.apigee.netjson Разрешенный путь неверен, поскольку /hello/v1 является подстрокой /hello/v1json . Поскольку /hello/v1json не является допустимым путем, Edge Microgateway должен был выдать ошибку 404. В версии 3.1.6 и более поздних версиях в этом случае выдается ошибка 404.
160431789 Ошибка Пользовательские плагины — объект конфигурации, переданный в init, не заполняется

Конфигурация Apigee Edge становится доступной в объекте конфигурации для всех пользовательских плагинов после слияния с файлом конфигурации Edge Microgateway. Смотритеконфиг .

162758808 Ошибка Новая конфигурация квот для резервного хранилища Redis

Вы можете использовать следующую конфигурацию, чтобы указать резервное хранилище Redis для квот. Подробности см. в разделе Использование резервного хранилища Redis для квоты .

3.1.5

В пятницу, 26 июня 2020 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.5. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Исправления ошибок и улучшения:

Идентификатор проблемы Тип Описание
159210507 Особенность Конфигурация для исключения обработки плагина

Была добавлена ​​новая функция конфигурации, позволяющая пропустить обработку плагинов для указанных URL-адресов. Подробности см. в разделе Настройка исключаемых URL-адресов для плагинов .

156986819, 158529319 Ошибка Исправлены проблемы с плагином json2xml

Исправлены проблемы, из-за которых плагин создавал повторяющиеся заголовки Content-Type и в некоторых случаях заголовки не отправлялись в цель, как ожидалось.

156560067, 159688634 Особенность

Использовать значения переменных среды в конфигурации

Была добавлена ​​функция, позволяющая указывать переменные среды с помощью тегов в файле конфигурации. Указанные теги переменных среды заменяются фактическими значениями переменных среды. Замены хранятся только в памяти, а не в исходных файлах конфигурации или кэше. Дополнительные сведения см. в разделе Настройка атрибутов конфигурации с помощью значений переменных среды .

155077210 Ошибка Исправлена ​​проблема с форматированием журнала.

Исправлена ​​проблема, из-за которой целевой хост появлялся в журналах с добавленными к нему посторонними двоеточиями.

153673257 Ошибка

(Только Edge для частного облака) Продукты с поддержкой Microgateway не извлекаются

Исправлена ​​проблема, из-за которой продукты с поддержкой микрошлюзов не извлекались. Эта проблема существовала только в установках Edge для частного облака.

154956890, 155008028, 155829434 Особенность Поддержка фильтрации загруженных продуктов по настраиваемым атрибутам.

Подробности см. в разделе Фильтрация товаров по пользовательским атрибутам.

153949764 Ошибка Исправлена ​​проблема, из-за которой процесс Edge Microgateway завершался сбоем, когда файл назначения журнала был заполнен.

Улучшена обработка исключений: ошибка перехватывается и выводится сообщение на консоль.

155499600 Ошибка Исправлены проблемы с ротацией ключей и обновлением KVM.

См. также Поворот клавиш JWT .

3.1.4

В пятницу, 23 апреля 2020 г., мы выпустили следующее исправление для Edge Microgateway.

Исправление ошибки:

Исправлена ​​проблема с зависимостями в версии 3.1.3. Версия 3.1.3 помечена как устаревшая в репозитории npm . В противном случае все исправления ошибок и улучшения, описанные в примечаниях к выпуску версии 3.1.3, применимы к этому выпуску.

3.1.3

В среду, 15 апреля 2020 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.3. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Исправления ошибок и улучшения:

  • 153509313 — исправлена ​​проблема, из-за которой модуль отладки Node.js приводил к утечкам памяти. Проблема существует в версиях v3.1.0, v3.1.1 и 3.1.2.
  • 153509313 — исправлена ​​проблема, из-за которой в выходных данных журнала печатался один и тот же идентификатор сообщения для двух разных транзакций.
  • 151673570 — исправлена ​​проблема, из-за которой Edge Microgateway не обновлялся для использования новых API-интерфейсов Apigee KVM. Edge Microgateway теперь использует новые команды для добавления и обновления значений KVM.
  • 152822846 — в предыдущих выпусках Edge Microgateway был обновлен таким образом, чтобы его обработка сопоставления путей к ресурсам соответствовала обработке Apigee Edge. В этом выпуске исправлена ​​проблема, из-за которой шаблон / literal_string /* обрабатывался неправильно. Например, /*/2/* . См. также Настройка поведения пути к ресурсу '/', '/*' и '/**' .
  • 152005003 — внесены изменения, позволяющие использовать идентификаторы на уровне организации и среды для квот.
  • 152005003 — внесены изменения, позволяющие использовать идентификаторы на уровне организации и среды для квот. В качестве идентификатора квоты используется комбинация «org + env + appName + ProductName».

3.1.2

В понедельник, 16 марта 2020 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.3. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Исправления ошибок и улучшения:

  • 151285018 — было внесено усовершенствование функции для добавления поддержки HTTP-прокси для трафика между Edge Microgateway и внутренними целями. Кроме того, были исправлены проблемы с существующей поддержкой HTTP-прокси между Edge Microgateway и Apigee Edge. Подробности см.:
  • 149101890 — код уведомления журнала для случаев, когда целевой сервер или балансировщик нагрузки закрывает соединение, был изменен с ОШИБКА на ИНФОРМАЦИЯ.
  • 150746985 — исправлена ​​проблема, из-за которой команда edgemicro verify не работала должным образом, если в файле конфигурации присутствовали redisBasedConfigCache: true или quotaUri: https://%s-%s.apigee.net/edgemicro-auth .
  • 151284716 — внесено усовершенствование, позволяющее быстрее закрывать соединения с сервером при перезапуске рабочих процессов во время перезагрузки.
  • 151588764 — обновите версию Node.js в образе Docker, используемом для запуска Edge Microgateway в контейнере Docker, до версии 12, поскольку Node.js v8 устарел.
  • 151306049 — внесено обновление документации, включающее список API-интерфейсов управления Apigee Edge, которые используются командами CLI Edge Microgateway. Узнайте , какие API управления использует Edge Microgateway? .

3.1.1

В четверг, 20 февраля, мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.1. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Исправления ошибок и улучшения:

  • 146069701 — исправлена ​​проблема, из-за которой модуль microgateway-core не учитывал переменные среды HTTP_PROXY и HTTPS_PROXY . Благодаря этому изменению настройки прокси-сервера в файле конфигурации YAML, если они указаны, теперь игнорируются; для указания прокси используются только переменные среды.

    Если вы хотите указать конфигурацию прокси-сервера в файле конфигурации, вы также должны указать переменную HTTP_PROXY , в которой упоминается тот же URL-адрес прокси-сервера, который указан в файле конфигурации. Например, если вы укажете следующую конфигурацию:

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

    Вы также должны указать эту переменную среды:

    HTTP_PROXY=http://10.128.0.20:3128
  • 146320620 — добавлен новый параметр конфигурации edgemicro.headers_timeout . Этот атрибут ограничивает время (в миллисекундах), в течение которого анализатор HTTP будет ждать получения полных заголовков HTTP. Например:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    Внутри этот параметр устанавливает атрибут Node.js Server.headersTimeout для запросов. (По умолчанию: на 5 секунд больше, чем время, установленное с помощью edgemicro.keep_alive_timeout . Этот параметр по умолчанию предотвращает ошибочное разрыв соединения балансировщиками нагрузки или прокси-серверами.)

  • 149278885 — добавлена ​​новая функция, которая позволяет вам устанавливать целевой тайм-аут API на уровне прокси-сервера API вместо использования одной глобальной настройки тайм-аута.

    Если вы установите свойство TargetEndpoint io.timeout.millis в прокси-сервере API, Edge Microgateway сможет получить это свойство и применить тайм-ауты, специфичные для целевой конечной точки. Если этот параметр не применяется, Edge Microgateway использует глобальный тайм-аут, указанный в параметре edgemicro.request_timeout .

3.1.0

Во вторник, 21 января, мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.1.0. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Исправления ошибок и улучшения:

  • 144187500 — новое событие уровня WARN будет зарегистрировано при срабатывании флага quotas.failOpen . Этот флаг срабатывает, если возникает ошибка обработки квоты или если запрос «Применить квоту» к Edge не может обновить удаленные счетчики квот. В этом случае квота будет обрабатываться на основе локальных счетчиков только до тех пор, пока не произойдет следующая успешная удаленная синхронизация квоты. Ранее это событие регистрировалось только в том случае, если для уровня журнала было установлено значение DEBUG.

    Например:

    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 — исправлена ​​проблема, из-за которой влияли на текущие или новые транзакции всякий раз, когда Edge Microgateway обнаруживал изменение прокси-сервера API. Теперь, когда в прокси вносится изменение, Edge Microgateway обновляет кэш и рабочие узлы перезапускаются. Это изменение не повлияет на текущие транзакции и новые вызовы API, отправляемые в микрошлюз.
  • 146378327 — уровень журнала sourceRequest , targetRequest и targetResponse изменен на уровень INFO.
  • 146019878 — исправлено несоответствие между задержкой, рассчитанной для параметра «Производительность прокси-сервера API» в аналитике Edge и событиями журнала sourceResponse/targetResponse Edge Microgateway. Теперь задержка в событиях аналитики Edge и журналов Microgateway выровнена.
  • Изменения, связанные с логикой сопоставления шаблонов:
    • 147027862 — плагин oauth был обновлен для поддержки следующих шаблонов сопоставления путей к ресурсам, как указано в продуктах API:
      • /{literal}**
      • /{literal}*
      • Любая комбинация двух вышеуказанных шаблонов

      Благодаря этому изменению плагин Edge Microgateway теперь соответствует тому же шаблону, что и Apigee Edge, как описано в разделе Настройка поведения пути к ресурсу '/', '/*' и '/**' .

    • 145644205 — обновите логику сопоставления шаблонов плагина apiKeys, чтобы она соответствовала плагину oauth.
  • 143488312 — исправлена ​​проблема, из-за которой начальные или конечные пробелы в параметре идентификатора клиента приводили к тому, что создание списка продуктов JWT было пустым для запросов токена OAuth и ключей API.
  • 145640807 и 147579179 — добавлена ​​новая функция, которая позволяет специальному экземпляру Edge Microgateway, называемому «синхронизатор», получать данные конфигурации из Apigee Edge и записывать их в локальную базу данных Redis. Затем можно настроить другие экземпляры микрошлюза для чтения данных конфигурации из базы данных. Эта функция повышает уровень устойчивости Edge Microgateway. Это позволяет экземплярам микрошлюза запускаться и работать без необходимости взаимодействия с Apigee Edge. Подробности см. в разделе «Использование синхронизатора» .

    Функция синхронизатора в настоящее время поддерживается для работы с Redis 5.0.x.

Версия 3.0.х

Исправления ошибок и улучшения версии 3.0.x

3.0.10

В пятницу, 8 ноября, мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.0.10. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Исправления ошибок и улучшения:

  • 142677575 — было сделано обновление функции, благодаря которому сопоставление шаблонов путей к ресурсам, используемых в продуктах API для Edge Microgateway, теперь соответствует шаблону сопоставления путей к ресурсам, используемому Apigee Edge, как описано в разделе Настройка поведения пути к ресурсу «/», '/*', и '/**' .

    Примечание. Если вы используете составной шаблон ресурсов, например /*/2/** , вы должны убедиться, что прокси-сервер edgemicro_auth добавлен в автономный продукт API. Затем вы должны включить этот продукт в приложение разработчика прокси-сервера, как показано на следующем снимке экрана:

    alt_text

    Примечание. Свойство конфигурации features.isSingleForwardSlashBlockingEnabled , как описано в разделе Настройка поведения пути ресурса '/', '/*' и '/**' , не поддерживается для Edge Microgateway.

  • 143740696 - Изменилась структура конфигурации quotas (см. также примечания к выпуску версии 3.0.9). Свойство quotas используется для настройки плагина квот. Изменение структуры было сделано для повышения наглядности элементов конфигурации. Чтобы настроить плагин квот, используйте следующую конфигурацию YAML. Обратите внимание, что свойство конфигурации называется quotas . Дополнительные сведения о свойствах конфигурации отдельных quotas . в разделе Параметры конфигурации квоты .

    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 — добавлена ​​новая функция, позволяющая использовать Redis в качестве резервного хранилища квот. Если useRedis имеет значение true, то используется модуль volos-quota-redis . Если установлено значение true, квота ограничивается только теми экземплярами Edge Microgateway, которые подключаются к Redis. Если значение равно false, модуль volos-quota-apigee используется в качестве резервного хранилища, а счетчик квот является глобальным. Подробности см. в разделе Параметры конфигурации квоты . Например:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
  • 140574210 — срок действия по умолчанию для токенов, созданных прокси-сервером edgemicro-auth изменен с 108 000 миллисекунд (1,8 минуты) на 1 800 секунд (30 минут).
  • 143551282 — для поддержки организаций с поддержкой SAML команда edgemicro genkeys была обновлена ​​и теперь включает параметр ‑‑token . Этот параметр позволяет использовать для аутентификации токен OAuth вместо имени пользователя и пароля. Подробности см. в разделе Генерация ключей .

3.0.9

В пятницу, 11 октября, мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.0.9. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Исправления ошибок и улучшения:

  • 141989374 — для плагина квот была добавлена ​​новая функция «открытия при сбое». Когда эта функция включена, если возникает ошибка обработки квоты или если запрос «Применение квоты» к Edge не может обновить счетчики удаленных квот, квота будет обрабатываться на основе локальных счетчиков только до тех пор, пока не произойдет следующая успешная удаленная синхронизация квот. В обоих этих случаях в объекте запроса устанавливается флаг quota-failed-open .

    Чтобы включить функцию «открытия при сбое» квоты, установите следующую конфигурацию:

    quotas :
     failOpen : true

    Примечание. Кроме того, имя флага объекта запроса fail-open подключаемого модуля OAuth было изменено на oauth-failed-open .

  • 142093764 — в конфигурацию прокси-сервера edgemicro-auth было внесено изменение для предотвращения превышения квоты. Изменение заключается в том, чтобы установить тип квоты Calendar . Чтобы использовать это улучшение, вам необходимо обновить edgemicro-auth до версии 3.0.7 или выше.
  • 142520568 — добавлена ​​новая функция, позволяющая регистрировать идентификатор MP (обработчика сообщений) в ответах на квоту. Чтобы использовать эту функцию, необходимо обновить прокси-сервер edgemicro-auth до версии 3.0.7 или выше и установить следующую конфигурацию:
    quotas:
      useDebugMpId: true

    Если установлено значение useDebugMpId , ответы о квотах от Edge будут содержать идентификатор MP и будут регистрироваться Edge Microgateway. Например:

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

3.0.8

В четверг, 26 сентября, мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.0.8. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Исправления ошибок и улучшения:

  • 140025210 — добавлена ​​новая функция «открытие при сбое». Эта функция позволяет продолжить обработку API, если токен JWT с истекшим сроком действия не может быть обновлен из-за ошибки соединения, которая препятствует успешному вызову проверки ключа API на прокси-сервере edgemicro-auth .

    Эта функция позволяет вам установить льготный период, в течение которого старый токен остается в кеше и повторно используется до истечения льготного периода. Эта функция позволяет Edge Microgateway продолжать обработку запросов в случае временного сбоя соединения. Когда подключение возобновляется и происходит успешный вызов Verify API Key, новый JWT извлекается и заменяет старый JWT в кеше.

    Чтобы настроить новую функцию «открытия при отказе», выполните следующие действия:

    1. Задайте следующие свойства в разделе oauth файла конфигурации Edge Microgateway:
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      Например:

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

      В этом примере старый токен будет использоваться в течение 5 секунд, если его невозможно обновить из-за проблемы с подключением. Через 5 секунд будет возвращена ошибка аутентификации.

  • 141168968 — было сделано обновление, включающее correlation_id во все выходные данные журнала плагина. Кроме того, при необходимости уровни некоторых журналов были изменены на error .
  • 140193349 — в прокси-сервере edgemicro-auth было внесено обновление, требующее проверки ключа и секрета Edge Microgateway при каждом запросе на проверку ключа API. Edge Microgateway был обновлен и теперь всегда отправляет ключ и секрет при каждом запросе на проверку ключа API. Это изменение не позволяет клиентам получать JWT только с помощью ключа API.
  • 140090250 — было сделано обновление для добавления ведения журнала диагностики для обработки квот. Благодаря этому изменению теперь можно сопоставлять выходные данные журнала квот с остальными журналами Edge Microgateway.

3.0.7

В четверг, 12 сентября, мы выпустили следующие исправления и улучшения Edge Microgateway.

Версии компонентов:

В следующей таблице перечислены номера версий отдельных проектов компонентов, связанных с Edge Microgateway 3.0.7. Обратите внимание: поскольку каждый компонент представляет собой отдельный проект, номера выпусков могут не совпадать с основной версией продукта:

микрошлюз основной конфигурация плагины Edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

Исправления ошибок и улучшения:

  • 140075602 — в плагин OAuth было внесено обновление, позволяющее при необходимости возвращать код состояния 5xx. Ранее плагин возвращал только коды состояния 4xx во всех случаях, кроме 200. Теперь для любого ответа на сообщение, не имеющего статуса 200, будет возвращен точный код 4xx или 5xx, в зависимости от ошибки.

    Эта функция отключена по умолчанию. Чтобы включить эту функцию, добавьте свойство oauth.useUpstreamResponse: true в конфигурацию Edge Microgateway. Например:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623 — в версии 3.0.6 было добавлено новое свойство конфигурации quota.quotaUri . Установите это свойство конфигурации, если вы хотите управлять квотами через прокси-сервер edgemicro-auth , развернутый в вашей организации. Если это свойство не задано, конечной точкой квоты по умолчанию будет внутренняя конечная точка Edge Microgateway. Например:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    В версии 3.0.7 edgemicro-auth был обновлен, чтобы принять эту новую конфигурацию. Чтобы использовать свойство quotaUri , необходимо обновить прокси-сервер edgemicro-auth до последней версии. Подробные сведения см. в разделе Обновление прокси-сервера EdgeMicro-Auth .

  • 140470888 — заголовок авторизации был добавлен к вызовам квоты для обеспечения аутентификации. Кроме того, прокси-сервер edgemicro-auth был изменен, чтобы удалить слово «организация» из идентификатора квоты. Поскольку конечная точка квоты находится в организации клиента, идентификатор квоты больше не требуется.
  • 140823165 — следующее имя свойства:
    edgemicro:
        keepAliveTimeout

    был неправильно задокументирован в версии 3.0.6. Правильное имя свойства:

    edgemicro:
        keep_alive_timeout
  • 139526406 — исправлена ​​ошибка, из-за которой возникал неправильный подсчет квот, если в приложении разработчика было несколько продуктов. Квота теперь правильно применяется для каждого продукта в приложении, имеющем несколько продуктов. В качестве идентификатора квоты используется комбинация «имя приложения + имя продукта».

3.0.6

В четверг, 29 августа, мы выпустили следующие исправления и улучшения Edge Microgateway.

  • 138633700 — добавлено новое свойство конфигурации keepAliveTimeout . Это свойство позволяет вам установить тайм-аут Edge Microgateway (в миллисекундах). (По умолчанию: 5000 миллисекунд)

    Например:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623 — добавлено новое свойство конфигурации quotaUri . Установите это свойство конфигурации, если вы хотите управлять квотами через прокси-сервер edgemicro-auth , развернутый в вашей организации. Если это свойство не задано, конечной точкой квоты по умолчанию будет внутренняя конечная точка Edge Microgateway. Например:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Чтобы использовать эту функцию, вам необходимо сначала развернуть последнюю версию прокси-сервера edgemicro-auth в вашей организации. Подробности см. в разделе Обновление прокси-сервера Edgemicro-auth .

  • 138722809 — Добавлено новое свойство конфигурации stack_trace . Это свойство позволяет вам контролировать, будут ли трассировки стека отображаться в файлах журналов. Например:
    stack_trace: false

    Если для stack_trace установлено значение true , трассировка стека будет напечатана в журналах. Если для него установлено значение false , трассировка стека не будет печататься в журналах.

3.0.5

В четверг, 15 августа, мы выпустили следующие исправления и улучшения Edge Microgateway.

Исправлены ошибки
  • 139005279 — исправлена ​​проблема, из-за которой команда edgemicro status не возвращала нужное количество рабочих процессов.
  • 138437710 — в классе ExitCounter исправлена ​​проблема, не позволявшая записать правильный журнал.
Общие улучшения сообщений журнала
  • 139064652 — добавлена ​​возможность добавлять уровни ведения журнала trace и debug для журналов событий и системных журналов. На данный момент добавлена ​​только возможность добавлять эти уровни журналов. В настоящее время доступны уровни журнала: info , warn и error .
  • 139064616 — вывод журнала стандартизирован для всех операторов журнала консоли. Операторы журналирования консоли теперь включают следующие атрибуты:
    • Временная метка
    • Имя компонента
    • Идентификатор процесса
    • Сообщение журнала консоли
Улучшения ключа JWT и сообщений секретного журнала.
  • 138413755 — Улучшите ключ JWT и сообщения журнала, связанные с секретом, для этих команд CLI: cert,verify,upgradekvm,token,genkeys,revokekeys,rotatekey и configure.
Улучшения сообщений об ошибках тайм-аута и отказа в соединении
  • 138413577 — Добавлена ​​и улучшена обработка ошибок для тайм-аутов серверной службы.
  • 138413303 — Добавлена ​​и улучшена обработка ошибок для таймаутов ответа и сокета.
  • 138414116 — Добавлена ​​и улучшена обработка ошибок «отказано в соединении».

3.0.4

В четверг, 1 августа, мы выпустили следующие исправления и улучшения Edge Microgateway.

  • 134445926 — Улучшения внутренней аутентификации Edge Microgateway.
  • 137582169 — устранена проблема, связанная с запуском нежелательных процессов. Дополнительные процессы приводили к перезагрузке плагинов и использованию чрезмерного количества памяти. Edge Microgateway теперь удерживает количество процессов в пределах ожидаемого предела.
  • 137768774 — Улучшения сообщений журнала:
    • Очищены журналы транзакций (запросов).
    • Добавлено больше сообщений журнала, где это необходимо.
    • Сообщения журнала транзакций (запросов) перенесены из вывода консоли в соответствующий файл журнала.
    • Обновлены журналы консоли для использования функции централизованного журналирования.
  • 138321133, 138320563 — фундаментальное внутреннее изменение буфера квот, позволяющее в будущем расширять квоты.

3.0.3

Во вторник, 23 июля, мы выпустили следующие исправления и улучшения Edge Microgateway.

  • Улучшения ведения журнала . Существующие журналы времени выполнения используют новую функцию eventLog() , которая собирает и регистрирует данные времени выполнения в согласованном формате. Информация журнала включает в себя:
    • Временная метка (ISO 8601: ГГГГ-ММ-ДДТЧЧ:мм:сс.ссссZ).
    • Уровень журнала (ошибка, предупреждение или информация).
    • Имя хоста — запрашивающее имя хоста из заголовка запроса.
    • Идентификатор процесса. Если вы используете кластер процессов Node.js, это идентификатор процесса, в котором произошло ведение журнала.
    • Название организации Apigee.
    • Имя среды в организации.
    • Имя прокси API.
    • IP-адрес клиента.
    • Идентификатор Клиента.
    • Идентификатор корреляции (в настоящее время не установлен).
    • Имя компонента Edge Microgateway.
    • Пользовательское сообщение. Некоторые объекты могут печатать дополнительную информацию, передаваемую в это свойство ошибки.
    • Метод запроса (если HTTP-запрос).
    • Код состояния ответа (если HTTP-запрос).
    • Сообщение об ошибке.
    • Код ошибки. Если объект содержит код ошибки, он печатается в этом свойстве.
    • Затрачено время.
    • Маркер конца строки операционной системы.

    Значения свойств NULL приводят к появлению пустых скобок [] .

    В следующем примере показан формат журнала:

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

    (137770055)

  • Производительность : продукты API не фильтровались на основе среды. Эта проблема исправлена. (135038879)
  • Различные интеграции функциональных тестов и улучшения качества кода.

3.0.2

В среду, 3 июля 2019 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

Качество кода . Код был проверен на качество, и в код были внесены изменения для соответствия стандартам качества, запрошенным пользователями. Мы устранили ошибки качества кода и предупреждения, полученные от JSHint . В результате были выявлены и исправлены некоторые фактические ошибки кода. Все модули Apigee Edge Microgateway прошли этот процесс. См. коммиты от 28 июня и 2 июля для microgateway-config , microgateway-core , microgateway-plugins и microgateway . Все модули с изменениями качества кода были протестированы с помощью внутренних инструментов, которые проверяют работоспособность Edge Microgateway для сценариев использования клиентов.

3.0.1

В пятницу, 21 июня 2019 г., мы выпустили следующие исправления и улучшения для Edge Microgateway.

  • 134834551 — изменение поддерживаемых версий Node.js для Edge Microgateway.
    (Версии, поддерживаемые Node.js: 8 и 12; версии 7, 9 и 11 являются экспериментальными)
  • 134751883 — Edge Microgateway аварийно завершает работу при перезагрузке под нагрузкой
  • 134518428 — конечная точка продуктов для Edge Microgateway возвращает 5XX, если шаблон фильтра неверен.
  • 135113408 — рабочие процессы должны перезапуститься, если они неожиданно завершают работу.
  • 134945852 — tokenCacheSize не используется в плагине oauth
  • 134947757 — установить кэшTTL в плагине oauth
  • 135445171 — расчет GracePeriod в OAuth неверен.
  • Используйте запомненный модуль, поставляемый вместе с установкой Edge Microgateway.
  • 135367906 - Аудит безопасности

Версия 2.5.х

Новые функции и улучшения версии 2.5.x

(Исправлено 2.5.38, 07.06.2019)

Неправильно отформатированные JWT могут привести к сбою рабочих процессов при использовании кэша токенов. Исправлено в модуле Edge microgateway-plugins. (б/134672029)

(Добавлено 2.5.37) Добавьте параметр CLI edgemicro-cert -t .

Параметр edgemicro cert -t позволяет указать токен OAuth для аутентификации API управления. См. также Управление сертификатами .

(Добавлено 2.5.35) Добавлена ​​поддержка отладки Edge Microgateway с помощью edgemicroctl .

Вы можете использовать флаг mgdebug с помощью edgemicroctl . См. также Задачи интеграции Kubernetes .

(Добавлено 2.5.35) Включите сборку Windows для edgemicroctl .

(Добавлено 2.5.31) Новый API Edgemicro-auth/token

Был добавлен новый API Edgemicro-auth/token, который позволяет передавать клиент/секрет в качестве заголовка базовой авторизации в кодировке Base64, а Grant_type в качестве параметра формы. См. раздел Получение токенов на предъявителя напрямую .

(Исправлено 2.5.31) Частная конфигурация не учитывает флаг токена.

Исправлена ​​проблема, из-за которой настройка Edge Microgateway для использования токена доступа OAuth2 в Edge для частного облака не работала должным образом (токен не соблюдался).

Docker: поддержка использования самозаверяющих сертификатов.

(Добавлено 2.5.29) Если вы используете центр сертификации (CA), которому Node.js по умолчанию не доверен, вы можете использовать параметр NODE_EXTRA_CA_CERTS при запуске контейнера Docker с Edge Microgateway. Подробности см. в разделе Использование центра сертификации, которому Node.js не доверяет .

Докер: поддержка TLS

(Добавлено 2.5.29) Edge Microgateway, работающий в контейнере Docker, теперь поддерживает TLS для входящих запросов к серверу Edge Microgateway (запросы в северном направлении) и для исходящих запросов от Edge Microgateway к целевому приложению (запросы в южном направлении).

В следующих примерах подробно объясняется, как настроить эти конфигурации TLS:

В этих примерах вы увидите, как использовать точку монтирования контейнера /opt/apigee/.edgemicro для загрузки сертификатов, которые затем упоминаются в файле конфигурации Edge Microgateway.

Docker: поддержка проксирования запросов.

(Добавлено 2.5.27) Если вы запускаете Edge Microgateway в контейнере Docker, вы можете использовать эти параметры для управления поведением прокси-сервера, когда микрошлюз работает за брандмауэром:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Подробности см. в разделе «Запуск Edge Micro как контейнера Docker» .

Docker: обновлены инструкции для плагина.

(Добавлено 2.5.27) Если вы запускаете Edge Microgateway в контейнере Docker, теперь у вас есть два варианта развертывания плагинов. Один из новых вариантов — использование точки монтирования Docker. Другой вариант, существовавший ранее, практически не изменился; однако Dockerfile был обновлен. Для получения подробной информации перейдите по следующим ссылкам:

Поддержка нового токена OAuth для команды обновления KVM.

(Добавлено 2.5.27) Вы можете использовать токен OAuth с помощью команды upgradekvm . Подробности см. в разделе «Обновление KVM» .

Разделение API в Edge Analytics

(Добавлено 2.5.26) Новые флаги подключаемого модуля аналитики позволяют отделить определенный путь к API, чтобы он отображался как отдельный прокси-сервер на панелях мониторинга Edge Analytics. Например, вы можете разделить API проверки работоспособности, чтобы не путать их с реальными вызовами API. Дополнительные сведения см. в разделе Исключение путей из аналитики .

Настройка локального прокси

(Добавлено 2.5.25) При использовании локального прокси-сервера вам не нужно вручную создавать прокси-сервер с поддержкой микрошлюза в Apigee Edge. Вместо этого микрошлюз будет использовать базовый путь локального прокси. Дополнительную информацию см. в разделе Использование режима локального прокси .

Использование автономного режима

(Добавлено 2.5.25) Вы можете запустить Edge Microgateway полностью отключенным от любой зависимости Apigee Edge. Этот сценарий, называемый автономным режимом, позволяет запускать и тестировать Edge Microgateway без подключения к Интернету. См. раздел «Запуск Edge Microgateway в автономном режиме» .

Отзыв ключей

(Добавлено 2.5.19) Была добавлена ​​новая команда CLI, которая отзывает ключ и секретные учетные данные для конфигурации Edge Microgateway.

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Дополнительную информацию см. в разделе Отзыв ключей .

Поддержка Докера

(Добавлено 2.5.19) Теперь вы можете загрузить последнюю версию Edge Microgateway в виде образа Docker :

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

Поддержка Кубернетеса

(Добавлено 2.5.19) Вы можете развернуть Edge Microgateway как службу или как дополнительный шлюз перед службами, развернутыми в кластере Kubernetes . См.: Обзор интеграции Edge Microgateway с Kubernetes .

Поддержка опции TCP nodelay

(Добавлено 2.5.16) В конфигурацию Edge Micro добавлен новый параметр конфигурации nodelay .

По умолчанию TCP-соединения используют алгоритм Нэгла для буферизации данных перед их отправкой. Установка nodelay в true отключает это поведение (данные будут немедленно отправляться каждый раз, когда вызывается socket.write() ). Дополнительную информацию см. также в документации Node.js.

Чтобы включить nodelay , отредактируйте файл конфигурации Edge Micro следующим образом:

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

Новые возможности CLI для мониторинга Forever

(Добавлено 2.5.12) В команду edgemicro forever добавлены новые параметры. Эти параметры позволяют указать расположение файла forever.json , а также запустить или остановить фоновый процесс Forever. См. также Forever мониторинг

Параметр Описание
-f, --file Указывает расположение файла forever.json .
-a, --action Либо start , либо stop . По умолчанию — старт.

Примеры:

Чтобы начать Навсегда:

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

Чтобы остановить навсегда:

edgemicro forever -a stop

Ротация ключей JWT

Была добавлена ​​новая функция, которая позволяет чередовать пары открытого и закрытого ключей, используемые для генерации токенов JWT, используемых для безопасности OAuth в Edge Microgateway. См. раздел «Вращение ключей JWT» .

Фильтрация загруженных прокси API

По умолчанию Edge Microgateway загружает все прокси-серверы в вашей организации Edge, имена которых начинаются с префикса «edgemicro_». Вы можете изменить это значение по умолчанию, чтобы загружать прокси, имена которых соответствуют шаблону. См. Фильтрация загруженных прокси .

Указание продуктов без API-прокси

В Apigee Edge вы можете создать продукт API, который не содержит прокси-серверов API. Эта конфигурация продукта позволяет ключу API, связанному с этим продуктом, работать с любым прокси-сервером, развернутым в вашей организации. Начиная с версии 2.5.4 Edge Microgateway поддерживает эту конфигурацию продукта.

Поддержка постоянного мониторинга

Edge Microgateway имеет файл forever.json , который можно настроить, чтобы контролировать, сколько раз и с какими интервалами следует перезапускать Edge Microgateway. Этот файл настраивает службу Forever-monitor, которая программно управляет Forever. См. Постоянный мониторинг .

Централизованное управление файлом конфигурации Edge Micro

Если вы используете несколько экземпляров Edge Microgateway, вам может потребоваться управлять их конфигурациями из одного места. Это можно сделать, указав конечную точку HTTP, откуда Edge Micro сможет загрузить файл конфигурации. См . раздел «Указание конечной точки файла конфигурации» .

Поддержка опции навсегда CLI

(Добавлено 2.5.8) Используйте команду edgemicro forever [package.json] , чтобы указать расположение файла forever.json . До добавления этой команды файл конфигурации должен был находиться в корневом каталоге Edge Microgateway.

Например:

edgemicro forever ~/mydir/forever.json

Добавлена ​​опция configUrl для команды перезагрузки.

(Добавлено 2.5.8) Теперь вы можете использовать параметр --configUrl или -u с командой edgemicro reload .

Льготный период для несоответствий во времени JWT

(Добавлено 2.5.7) Атрибут GracePeriod в конфигурации OAuth помогает предотвратить ошибки, вызванные небольшими расхождениями между системными часами и временем «Не раньше» (nbf) или «Выдано в» (iat), указанным в токене авторизации JWT. Установите для этого атрибута количество секунд, позволяющее учитывать такие несоответствия. См. атрибуты OAuth .

(Добавлено 2.5.7) Атрибут GracePeriod в конфигурации OAuth помогает предотвратить ошибки, вызванные небольшими расхождениями между системными часами и временем «Не раньше» (nbf) или «Выдано в» (iat), указанным в токене авторизации JWT. Установите для этого атрибута количество секунд, позволяющее учитывать такие несоответствия. См. атрибуты OAuth .

Исправлены ошибки v2.5.x

  • (Проблема № 236) Исправлена ​​опечатка при очистке кеша.
  • (Проблема № 234) Сбой при перезагрузке Edge Microgateway 2.5.35.
  • (Проблема № 135) Неверная ссылка на виртуальный хост, «безопасная» ошибка при использовании опции -v . Это исправление изменяет прокси-сервер EdgeMicro-Auth перед развертыванием, чтобы виртуальные хосты точно соответствовали тому, что указано в флаге «-v». Кроме того, вы можете указать любое количество и любое имя для виртуального хоста (больше не ограничивается по умолчанию и безопасным).
  • (Выпуск № 141) Команда Edgemicro Reload не поддерживает опцию файла конфигурации -c . Эта проблема была исправлена.
  • (Выпуск № 142) Edge Microgateway жалуется на устаревшее криптографию во время установки. Эта проблема была исправлена.
  • (Выпуск № 145) Квота не работает с Edge Microgateway. Эта проблема была исправлена.
  • (Проблема сообщества Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336 ). и ресурс URI в OAuth. Эта проблема была исправлена.
  • (Проблема сообщества Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html ) Microgateway не работает с Oauth. Эта проблема была исправлена.
  • Исправьте Pidpath на Windows.
  • (Выпуск № 157) Проблема, вызванная следующим сообщением об ошибке, была исправлена: ReferenceError: deployProxyWithPassword не определен.
  • (Выпуск № 169) Обновление Node.js Depertiances (NPM Audit)
  • edgemicro-auth Proxy теперь использует политики Edge JWT. Прокси больше не зависит от node.js для обеспечения поддержки JWT.

Версия 2.4.x

Новые функции и усовершенствования v.2.4.x

1. Установите настраиваемый псевдоним для прокси Edgemicro-Auth (PR 116)

Вы можете изменить базовую септу для по умолчанию для прокси Edgemicro-Auth . По умолчанию базовый тур- /edgemicro-auth . Чтобы изменить его, используйте флаг -x в команде Edgemicro configure .

Пример:

edgemicro configure -x /mypath …


2. Поддержка подстановочного знака для базовых путей (PR 77)

Вы можете использовать один или несколько « * » подстановки на базовом пути прокси -сервера Edgemicro_ * . Например, базовый путь /команда/*/члены позволяет клиентам звонить https: // [host]/team/blue/ https: // [host]/team/green/kens без необходимости создавать новые API -прокси для поддержки новых команд. Обратите внимание, что / ** / не поддерживается.

ВАЖНО: Apigee не поддерживает использование подстановочного знака «*» в качестве первого элемента базового пути. Например, это не поддерживается: /* / search.

3. Пользовательский путь конфигурации добавлен в CLI для конфигурации частного облака (PR 99)

По умолчанию файл конфигурации Microgateway находится в ./config/config.yaml . В командах init, настройки и запуска вы теперь можете указать пользовательский путь конфигурации в командной строке, используя флаги -c или - -configdir . Исправлена ​​проблема, в которой пользовательский каталог конфигурации для инсталляций частного облака не был признан.

Пример:

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

4. Уважение *_proxy переменные (PR 61)

Если Edge Microgateway установлен за брандмауэром и не может общаться с Apigee Edge в общедоступном облаке, есть два варианта для рассмотрения:

Вариант 1:

Первый вариант - установить опцию Edgemicro: proxy_tunnel на True в файле конфигурации MicrogateWay:

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

Когда Proxy_tunnel True , Edge Microgateway использует метод HTTP Connect для HTTP -запросов туннеля через одно соединение TCP. (То же самое верно, если переменные среды для настройки прокси включены TLS).

Вариант 2:

Второй вариант состоит в том, чтобы указать прокси и установить Proxy_tunnel в false в файле конфигурации Microgateway. Например:

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

В этом случае вы можете установить следующие переменные для управления хостами для каждого HTTP -прокси, который вы хотите использовать, или какие хосты не должны обрабатывать прокси -прокси -концерты Microgateway: http_proxy , https_proxy и no_proxy . Вы можете установить no_proxy в качестве списка доменов с разграниченными запятыми, которые не должен прокси. Например:

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

Для получения дополнительной информации об этих переменных см.

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


5. Установите пользовательский тайм -аут для целевых запросов (PR 57)

Вы можете установить пользовательский тайм -аут для целевых запросов с этой конфигурацией:

edgemicro:
    request_timeout: 10

Тайм -аут установлен в секундах. Если происходит тайм -аут, Edge Microgateway отвечает кодом состояния 504.

6. Уважайте пользовательские сообщения о состоянии HTTP в целевом ответе (PR 53)

Edge Microgateway уважает пользовательские сообщения о состоянии HTTP, установленные на целевом ответе. В предыдущих выпусках сообщения о состоянии, отправленные из цели, были переопределены с помощью дефолтов Node.js.

7. Заголовок X-Forwarded-For может установить Client_IP для аналитики

Если присутствует, заголовок X-Forwarded-For установит переменную Client_IP , которая сообщается в Edge Analytics. Эта функция позволяет вам узнать IP -адрес клиента, который отправил запрос на Edge Microgateway.

8. Изменения плагина OAuth

Плагин OAuth поддерживает проверку ключа API и проверку токена доступа OAuth. Перед этим изменением плагин принял любую форму безопасности. С этим изменением вы можете разрешить только одну из этих моделей безопасности (сохраняя обратную совместимость).

Плагины OAuth добавляет два новых флага:

  • AllowOauthonly - если установлено True , каждый API должен нести заголовок авторизации с токеном доступа к носителю.

  • AllowApikeyonly -если установлено true , каждый API должен нести заголовок x-api-key (или пользовательское место) с ключом API.

Вы устанавливаете эти флаги в файл конфигурации Microgateway, как это:

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

9. Улучшен прокси Эдгемика-Аут (PR 40)

Улучшения были внесены в прокси-прокси -эдгемик-аут . Перед этими изменениями прокси хранили клавиши в магазине Edge Secure, зашифрованное хранилище. Теперь прокси-клавиш хранит клавиши в зашифрованной карте клавиш Edge (KVM).

10. Переписывание целевого URL -адреса по умолчанию в плагине (PR 74)

Вы также можете переопределить целевой порт конечной точки и выбрать между HTTP и HTTPS. Измените эти переменные в коде вашего плагина: req.targetport и req.targetSecure . Чтобы выбрать https, установите req.targetSecure True ; Для http установите его на false . Если вы установите REQ.TargetSecure True, см. В этом потоке обсуждения для получения дополнительной информации.

11. Первоначальная поддержка аутентификации токена OAuth (PR 125)

Вы можете настроить Edge Microgateway для использования токена OAuth для аутентификации вместо имени пользователя/пароля. Чтобы использовать токен OAuth, используйте следующий параметр в команде Edgemicro configure :

-t, --token <token>

Например:

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

Ошибки исправлены v2.4.3

  • Исправлена ​​проблема, когда платная организация должна была надлежащим образом запустить прокси-прокси-эдгемический прокси-аут. Теперь вы также можете использовать Edge Microgateway с пробными организациями. (PR 5)
  • Исправлена ​​проблема, в которой поток не был закончен обработка данных, но в любом случае выполнялись обработчики конечных. Это вызвало отправку частичного ответа. (PR 71)
  • Исправлена ​​проблема, в которой пользовательский каталог конфигурации для инсталляций частного облака не был признан. (PR 110)
  • Исправлена ​​проблема с двунаправленным SSL между клиентом и Edge Microgateway. (PR 70)
  • Исправлена ​​проблема, когда на прокси -мупат для проверки ключа API требовалась сбросная черта для проверки ключа API для правильного рабочего. Теперь в конце базовой муки не нужна запекающая черта. (PR 48)

Версия 2.3.5

Новые функции и усовершенствования v.2.3.5

Прокси -фильтрация

Вы можете отфильтровать, какие прокси-прокси-прокси-серверы Microgateway будут обрабатываться Edge Microgateway. Когда начинается Edge Microgateway, он загружает все прокси-прокси-посредников Microgateway в организации, с которой она связана. Используйте следующую конфигурацию, чтобы ограничить, какие прокси, обрабатывают микрогейтвей. Например, эта конфигурация ограничивает прокси, которые Microgateway обработает до трех: edgemicro_proxy-1 , edgemicro_proxy-2 и edgemicro_proxy-3 :

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

Аналитические данные маскируют

Новая конфигурация позволяет предотвратить информацию о пути запроса в аналитике Edge. Добавьте следующее в конфигурацию Microgateway, чтобы замаскировать URI и/или путь запроса запроса. Обратите внимание, что URI состоит из имени хоста и частей пути запроса.

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

Версия 2.3.3

Новые функции и усовершенствования v.2.3.3

Ниже приведены новые функции и усовершенствования для этого выпуска.

Отключить автоматическое избирательный участок

Вы можете отключить автоматическое избирательное участие в опросе изменения, установив этот атрибут в конфигурации Microgateway:

disabled_config_poll_interval: true

По умолчанию периодический опрос выбирает любые изменения, внесенные в краю (изменения в продуктах, прокси-прокси-прокси-концерт Microgateway и т. Д.), А также изменения в локальном файле конфигурации. Интервал опроса по умолчанию составляет 600 секунд (пять минут).

Переписывание целевых URL -адресов в плагинах

Вы можете динамически переопределить целевой URL -адрес по умолчанию в плагине, изменяя эти переменные в коде вашего плагина: req.TargethostName и req.TargetPath .

Новая подпись функции плагина

Была добавлена ​​новая подпись функции плагина, которая обеспечивает целевой ответ в качестве аргумента. Это дополнение облегчает плагины доступ к целевому ответу.

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

Упрощенный вывод журнала по умолчанию

По умолчанию служба журнала теперь пропускает JSON загруженных прокси, продуктов и JWT. Вы можете изменить по умолчанию, чтобы вывести эти объекты, установив DEBUG=* Когда вы запускаете Edge Microgateway. Например:

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

Пользовательский путь конфигурации добавлен в CLI

По умолчанию файл конфигурации Microgateway находится в ./config/config.yaml. В командах init, настройки и запуска вы теперь можете указать пользовательский путь конфигурации в командной строке. Например:

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

Ошибки исправлены v2.3.3

  • Была фиксирована утечка памяти, которая произошла во время больших запросов/ответов.
  • Заказ на выполнение плагина был исправлен. Теперь он ведет себя так, как это объясняется в документации.
  • Плагин накапливается, плагин больше не висит для получения запросов.
  • Проблема была исправлена ​​в плагине накопления-ответа, где отсутствие тела ответа вызвало ошибки.

Выпуск 2.3.1

Установка примечания

Некоторые предыдущие версии Edge Microgateway позволяют установить программное обеспечение, загрузив zip -файл. Эти zip -файлы больше не поддерживаются. Чтобы установить Edge Microgateway, необходимо использовать:

npm install -g edgemicro

Обратитесь к теме установки для получения более подробной информации.

Новые функции и усовершенствования v.2.3.1

Ниже приведены новые функции и усовершенствования для этого выпуска.

Фильтруя прокси

Новая конфигурация позволяет отфильтровать, какие прокси, которые Microgateway загружат Edge Microgateway. Ранее Microgateway загружал все прокси-прокси-посредников Microgateway (прокси с именем edgemicro_*), извлеченные из края организации/среды, которую вы указали в команде Edgemicro configure. Эта новая функция позволяет вам отфильтровать этот список прокси, так что Edge Microgateway загружает только те, которые вы указываете. Просто добавьте элемент прокси в файл конфигурации MicrogateWay, как это:

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

Например, допустим, у вас есть 50 edgemicro_* Proxies в вашем Edge Org/Env, в том числе с именем edgemicro_foo и edgemicro_bar . Вы можете сказать Microgateway использовать только эти два прокси, как это:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

После запуска Microgateway сможет вызовать только указанные прокси. Любые попытки позвонить в другие прокси-прокси-прокси, загруженные Microgateway, приведены к ошибке.

Установить заголовки целевых запросов в плагинах

Существует два основных шаблона, которые следует учитывать, если вы хотите добавить или изменить заголовки целевых запросов: один, в котором входящий запрос содержит данные (как в запросе POST) и один, где он не имеет (как в простом запросе GET).

Давайте рассмотрим случай, когда входящий запрос содержит данные, и вы хотите установить заголовки запросов в целевом запросе. В предыдущих версиях Edge Microgateway было невозможно надежно установить целевые заголовки в этом случае.

Ключом к этому шаблону является сначала накопление всех входящих данных от клиента. Затем, в функции onend_request() , используйте новый request.setOverrideHeader(name, value) для настройки заголовков.

Вот пример кода плагина, показывающий, как это сделать. Заголовки, установленные onend_request отправляются в цель:

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);
    }

  };

}

Если запрос не включает данные, то вы можете установить целевые заголовки в обработчике onrequest() . Этот шаблон не является новым - он был задокументирован ранее и использовался в плагинах образца, предоставленных 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();
    }

Функция перезагрузки с нулевым временем

После изменения конфигурации на Edge Microgateway вы можете загрузить конфигурацию, не отбросив какие -либо сообщения. С этим изменением Edge Microgateway всегда начинается в режиме кластера, и опция --cluster была удалена из команды edgemicro start .

Кроме того, были добавлены три новые команды CLI. Вы должны запустить эти команды из того же каталога, где была выполнена команда Edgemicro Start:

  • edgemicro status - проверяет, работает ли Edge Microgateway или нет.
  • edgemicro stop - Останавливает кластер Edge Microgateway.
  • edgemicro reload - перезагружает конфигурацию Edge Microgateway без времени простоя.

Автоматическая перезагрузка конфигурации с нулевым временем простоя

Edge Microgateway периодически загружает новую конфигурацию и выполняет перезагрузку, если что -то изменилось. Опрос поднимает любые изменения, внесенные в краю (изменения в продуктах, прокси-прокси-прокси-серверы Microgateway и т. Д.), А также изменения в локальном файле конфигурации. Интервал опроса по умолчанию составляет 600 секунд (пять минут). Вы можете изменить по умолчанию в файле конфигурации Microgateway следующим образом:

edgemicro:
    config_change_poll_interval: [seconds]

Добавлена ​​информация о версии в CLI

Флаг --version был добавлен в CLI. Чтобы получить текущую версию Edge Microgateway, используйте:

edgemicro --version

Новый Edge Microgateway Server параметры SSL

Edge Microgateway теперь поддерживает следующие параметры SSL в дополнение к key и cert :

Вариант Описание
pfx Путь к файлу pfx , содержащий закрытый ключ, сертификат и CA CERT клиента в формате PFX.
passphrase Строка, содержащая пасфразу для частного ключа или PFX.
ca Путь к файлу, содержащему список доверенных сертификатов в формате PEM.
ciphers Строка, описывающая шифры для использования, разделенного «:».
rejectUnauthorized Если True, сертификат сервера проверяется в списке поставленных CAS. Если проверка не удается, возвращается ошибка.
secureProtocol Метод SSL для использования. Например, sslv3_method, чтобы заставить SSL версию 3.
servername Имя сервера для расширения TLS SNI (имени сервера).

Отправить файлы журнала в Stdout

Вы можете отправить данные журнала на стандартный выход с новой настройкой конфигурации:

edgemicro:
  logging:
    to_console: true  

См. Управление файлами журнала .

Версия 2.1.2

Ниже приведены новые функции и усовершенствования для этого выпуска.

Разрешить пользовательскую конечную точку API для конфигурации

Существует новые настраиваемые конечные точки для прокси -прокси -сервера авторизации, которые поддерживают использование пользовательской службы автофинала. Эти конечные точки:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Для получения подробной информации см. Использование пользовательской аудитории .

Версия 2.1.1

Ниже приведены новые функции и усовершенствования для этого выпуска.

Развернуть кроссплатформенную совместимую прокси-прокси-прокси

Было сделано улучшение таким образом, чтобы команда, используемая для развертывания прокси -сервера авторизации Edge Microgateway для Edge, совместима с системами Windows.

Версия 2.1.0

Новые функции и усовершенствования v.21.0

Ниже приведены новые функции и улучшения:

Укажите параметры клиента SSL/TLS

Вы можете указать параметры клиента для соединений SSL/TSL с целями, используя новый набор параметров конфигурации. См. Использование клиентских параметров SSL/TSL .

Версия 2.0.11

Установка Примечание v2.0.11

Некоторые предыдущие версии Edge Microgateway позволяют установить программное обеспечение, загрузив zip -файл. Эти zip -файлы больше не поддерживаются. Чтобы установить Edge Microgateway, необходимо использовать:

npm install -g edgemicro

Обратитесь к теме установки для получения более подробной информации.

Новые функции и усовершенствования v.2.0.11

Ниже приведены новые функции и улучшения:

Укажите порт при запуске

Команда начала позволяет указать номер порта для переопределения порта, указанного в файле конфигурации. Вы также можете указать номер порта, используя переменную среды порта. Смотрите команду начала для получения подробной информации.

По желанию сохранить заголовки автоза

Новая настройка конфигурации, KeepAuthheader , позволяет сохранить заголовок авторизации, отправленный в запросе. Если установить True, заголовок AUTH передается в цель. Смотрите атрибуты Oauth .

Возможность использовать пользовательскую службу авторизации

Если вы хотите использовать свой собственный сервис для обработки аутентификации, измените значение Authuri в файле конфигурации Edge Microgateway, чтобы указывать на вашу службу. Для получения подробной информации см. Использование пользовательской аудитории .

Версия 2.0.4

Edge Microgateway V.2.0.4 был выпущен 25 мая 2016 года.

Новые функции и усовершенствования v2.0.4

Ниже приведены новые функции и усовершенствования в этом выпуске.

Поддержка пути ресурсов в продуктах

Edge Microgateway теперь поддерживает пути ресурсов в продуктах. Пути ресурсов позволяют вам ограничить доступ к API на основе суффикса прокси -прокси. Для получения подробной информации о создании продуктов и настройке пути ресурсов, см. Создание продуктов API .

Поддержка NPM Global Install

Теперь вы можете установить Edge Microgateway, используя опцию NPM -G (Global). Для получения подробной информации об этой опции см. В документации NPM .

Версия 2.0.0

Edge Microgateway v2.0.0 был выпущен 18 апреля 2016 года.

Новые функции и усовершенствования v.2.0.0

Ниже приведены новые функции и усовершенствования в этом выпуске.

ОДИН ПРОЦЕСС СЕРЕР

Edge Microgateway теперь является одним сервером процесса. В нем больше не используется модель двух процессов, где один процесс (ранее известный как «агент») запускает Edge Microgateway, второй процесс. Новая архитектура облегчает автоматизацию и контейнеризацию.

Назчатые файлы конфигурации

Файлы конфигурации теперь навязываются с использованием организации и среды, так что несколько экземпляров Microgateway могут работать на одном хосте. Вы можете найти файлы конфигурации в ~/.edgemicro после запуска команды конфигурации Edge Microgateway.

Новые переменные среды

Сейчас есть 4 переменных среды: edgemicro_org, edgemicro_env, edgemicro_key, edgemicro_secret. Если вы установите эти переменные в свою систему, вам не нужно указывать их значения, когда вы используете интерфейс командной строки (CLI) для настройки и запуска Microgateway.

Кэшированная конфигурация

Edge Microgateway использует кэшированный файл конфигурации, если он перезагружается без подключения к Edge Apigee.

Кластерный режим

Теперь есть параметры для запуска Edge Microgateway в режиме кластера. Режим кластера позволяет использовать преимущества многоядерных систем. Microgateway использует модуль кластера Node.js для этой функции. Для получения подробной информации см. Документацию Node.js.

Ошибки исправлены v2.0.0

Жизненный цикл событий плагина теперь правильно обрабатывает асинхронный код, который содержит код с новым обратным вызовом.

Версия 1.1.2

Edge Microgateway v. 1.1.2 был выпущен 14 марта 2016 года.

Новые функции и усовершенствования v.1.1.2

Ниже приведены новые функции и усовершенствования в этом выпуске.

Улучшение производительности

Edge Microgateway теперь использует агент HTTP Node.js для лучшего объединения соединений. Это улучшение повышает производительность и общую стабильность при высокой нагрузке.

Поддержка дистанционного отладчика

Вы можете настроить Edge Microgateway для запуска с помощью дистанционного отладчика, такого как Node-Inspector .

Новое местоположение файла конфигурации

Когда вы настраиваете Edge Microgateway, файл agent/config/default.yaml теперь копируется в ~./edgemicro/config.yaml .

Журнал Rotatio n

Новый атрибут конфигурации позволяет указать интервал вращения для журналов Edge Microgateway.

Ошибки исправлены v1.1.2

Следующие ошибки исправлены в v. 1.1.2.

Описание
Высовка Java для Edgemicro-Internal Proxy, используемой с помощью Edge, теперь использует правый сервер MGMT.
Удалить декоративные декорации TypeScript из агента.
Исправьте ошибку CLI при использовании опции развертывания Lean.
Исправить ссылку на логику сертификата.