19.03.01 – примечания к выпуску Apigee Edge для общедоступного облака

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

Во вторник, 3 декабря 2019 г., мы начали выпускать обновление этой версии Apigee Edge для общедоступного облака. (Первый выпуск был опубликован в четверг, 18 апреля 2019 г.)

Новые функции и обновления

Ниже перечислены новые функции и изменения в этом выпуске.

Идентификатор проблемы Название компонента Описание
1 октября 2019 г. Apigee начала выпускать следующие обновления:
110995050 API Runtime

Балансировка нагрузки – больше возможностей для удаления неисправных серверов

При настройке балансировщика нагрузки для прокси-сервера API можно указать, сколько сбоев ответа должно произойти, прежде чем сервер будет удален из цикла балансировки нагрузки. Сбой ответа означает, что Apigee не получает от целевого сервера никакого ответа. В этом случае счетчик ошибок увеличивается на единицу. Когда Apigee получает ответ от целевого сервиса, даже если это ошибка HTTP (например, 500), это считается ответом от целевого сервера, и счетчик сбоев сбрасывается. Чтобы плохие HTTP-ответы (например, 500) также увеличивали счетчик ошибок и неисправный сервер как можно скорее исключался из ротации балансировки нагрузки, вы можете добавить в конфигурацию балансировщика нагрузки новый элемент <ServerUnhealthyResponse> с дочерними элементами <ResponseCode>. Edge также будет считать ответы с этими кодами ошибками.

<HTTPTargetConnection>
  <LoadBalancer>
    <Algorithm>RoundRobin</Algorithm>
    <Server name="target1" />
    <Server name="target2" />
    <ServerUnhealthyResponse>
        <ResponseCode>500</ResponseCode>
        <ResponseCode>502</ResponseCode>
        <ResponseCode>503</ResponseCode>
    </ServerUnhealthyResponse>
    <MaxFailures>5</MaxFailures>
  </LoadBalancer>
</HTTPTargetConnection>
  
  
130416715 Безопасность

Улучшения правил AccessControl

Правило AccessControl определяет, с каких IP-адресов можно вызывать прокси-сервер API. Новый элемент в этих правилах позволяет разработчикам API более точно определять, какие IP-адреса нужно оценивать.

<IgnoreTrueClientIPHeader>: необязательный параметр (по умолчанию – false). Если задать значение True, правило будет игнорировать заголовок True-Client-IP и оценивать IP-адреса в заголовке X-Forwarded-For в соответствии с настроенным поведением при оценке X-Forwarded-For.

<AccessControl async="false" continueOnError="false"
    enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>
18 апреля 2019 г. Apigee выпустила следующие обновления:
117558815,
119856499,
110548137,
79526748,
72989449,
70712859,
69049041
API Runtime JWS и JWT
Мы добавили новые правила для поддержки JWS и улучшили существующие правила JWT.

Подробнее о новых требованиях…

122610025 API Runtime Разрешить RaiseFault устанавливать причину ошибки и произвольные переменные, как в AssignMessage

В правиле RaiseFault доступны два новых элемента, которые позволяют сделать обработку FaultRules более простой и эффективной.

  • ShortFaultReason – это логическое значение, которое, если оно установлено в значение true, помещает название правила в переменную fault.reason.
  • AssignVariable, доступный в FaultResponse, позволяет назначить ответ об ошибке переменной, которая будет использоваться другими правилами в потоке прокси-сервера API.
121149811 Размещенные целевые значения Ограничения для размещенных целевых страниц

Теперь для размещенных целевых страниц действуют ограничения. Подробнее об ограничениях…

117659213 API Runtime Как параметризовать диапазоны IP-адресов в правиле AccessControl

Теперь вы можете использовать переменные шаблона сообщения, чтобы задавать IP-адреса и маски CIDR в правиле AccessControl. Например, если вы хотите сохранить IP-адрес и маску в карте "ключ-значение" (KVM), вы можете получить эти значения из переменной, заданной в потоке прокси API. Это позволяет легко изменять значения IP-адресов во время выполнения, не меняя конфигурацию правил.

Например, вместо:

<MatchRule action="DENY">
    <SourceAddress mask="24">198.51.100.1</SourceAddress>
</MatchRule>
     

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

<MatchRule action="DENY">
    <SourceAddress mask="{kvm.mask.ref}">{kvm.ip.ref}</SourceAddress>
</MatchRule>
     
113599885 Мониторинг API Роли для мониторинга API

В API Monitoring есть две роли: администратор API Monitoring и пользователь API Monitoring. Подробнее о доступе к API Monitoring… Они стали доступны в декабре 2018 года.

132256772 API Runtime Заголовок X-Apigee.Message-Timeout добавлен в запрос

Теперь браузер Edge добавляет заголовок X-Apigee.Message-Timeout к каждому запросу. Этот заголовок используется браузером Edge для внутренних целей. Не полагайтесь на значения в заголовках X-Apigee.* в прокси API, поскольку эти заголовки не предназначены для использования клиентами и могут быть удалены или изменены Apigee в любое время.

78575018 Частное облако или OPDK Пропустить сервер управления, чтобы пропустить регистрацию хранилища данных шлюза, если есть несколько контейнеров шлюза

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

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

Идентификатор проблемы Название компонента Описание
3 декабря 2019 г. Apigee начала выпускать следующие исправления:
Исправления системы безопасности.
29 октября 2019 г. Apigee начала выпускать следующие исправления
139381794 Сервер управления

Как обрабатывать ошибки удаления хранилища ключей, чтобы вызовы API не завершались сбоем

С 1 октября 2019 г. Apigee начала выпускать следующие исправления:
140761319 API Runtime

Параметр x-apigee.edge.execution.sense.action всегда имеет значение null

139091614 API Runtime

В правилах ResponseCache поток NIOThread выполняется без отклонения со стороны пула потоков

131331305 Основные сервисы

Несколько экспортеров журналов на маршрутизаторах Apigee вызывают высокую загруженность процессора

136690640 API Runtime

Периодически возникающие ошибки 404 в определенных организациях

140948100 API Runtime

Развернутый общий поток не выполняется на некоторых процессорах сообщений

13 сентября 2019 г. Apigee выпустила следующие исправления:
132654321 Сервер управления В журналах аудита нет данных
131246911 Сервер управления Для электронных адресов разработчиков на портале включите поддержку новых доменов, например *.games и *.asia
18 апреля 2019 г. в Apigee были внесены следующие исправления:
123844598 Сервер управления Удаленные ключи приложений нельзя импортировать повторно, если прошло более 24 часов
123588156 API Runtime Удаление заголовка Content-Length из ответа приводит к ошибке 304
122732400 API Runtime Параметр api.timeout переопределяет io.timeout.millis
122545281 API Runtime Маска данных DebugSession для JSON должна учитывать случай, когда jsonPayload является массивом
122355807 Сервер управления Некорректное поведение разрешений для пользователей с несколькими ролями
121393556 API Runtime x_apigee_fault_code имеет значение org/codehaus/jackson/map/ObjectMapper
120998548 Интерфейс Edge Опечатка в сообщении об ошибке: Cert is invalid or cannot be not be trusted (Сертификат недействителен или ему нельзя доверять)
120990929 API Runtime Ответ HTTP-413 от Nginx/Apigee-Router указывает на тип сервера
120799489 API Runtime При использовании httpClient с асинхронной функцией обратного вызова JavaScript httpComplete() выходные данные debugsession (трассировка) не выводятся
120794339 API Runtime Отклонения от правил для организации
120277011 Сервер управления Требуется проверка введенных данных: не удается развернуть прокси, если имя хоста целевого сервера содержит **
119976417 Мониторинг API В API Monitoring указано большое время отклика прокси-сервера, а в аналитике – большое время отклика целевого сервиса
119947481 API Runtime В исключительных случаях полезная нагрузка, которую нужно замаскировать, регистрируется как обычный текст
119877164 Частное облако или OPDK Маршрутизаторы генерируют ошибки, обработчик сообщений переходит в офлайн при включенном TLS

Исправление будет включено в следующий выпуск Edge для частного облака.

119816218 API Runtime Кеш ответов игнорирует заголовок Expires, если его значение равно нулю или отрицательному числу
119770242 API Runtime Сбой связи между маршрутизатором и процессором сообщений привел к полной остановке работы: ошибка в PostClientFlow вызывает бесконечный цикл
119443145 Сервер управления Прокси-сервер API возвращает ошибку 404, когда ProxyEndpoint переименован и повторно развернут
119260281 API Runtime Ошибка в журнале "Не удалось обработать как строку3000.0"
118743407 Сервер управления Время развертывания прокси Apigee
118447966 API Runtime Ошибка в выносках JavaScript в версии MP 180608_07
117549719 API Runtime Несоответствие между URI запроса и базовым путем прокси
117219520 API Runtime MessageLogging: регистратор Syslog использует неправильный формат даты по умолчанию, неправильно отображает миллисекунды
117116435 API Runtime Периодические ошибки в файле JavaScript
117091520 API Runtime После выпуска версии 18.06.08 обработчика сообщений не работают вызовы Java
116165318 API Runtime При одновременном развертывании одного и того же пакета возникает исключение RepositoryException
116055025 Сервис Configstore После запуска процессоры сообщений не находят виртуальные хосты и приложения
115614498 API Runtime Требуется поддержка внутреннего балансировщика нагрузки в OPDK

Исправление будет включено в следующий выпуск Edge для частного облака.

113972537 API Runtime Несколько ошибок P1 – исключение NullPointerException, вызванное кодом Node.js в прокси Trireme – ошибка 500: внутренняя ошибка сервера
113904969 Поддержка Apigee Проблема с удалением прокси API в демонстрационных организациях
113554802 API Runtime Проверка утверждения SAML завершается ошибкой NullPointerException
113315737 Сервер управления Не удалось развернуть прокси-сервер из-за отсутствия записей о развертывании в Zookeeper
112767195 API Runtime Периодические ошибки DataStore при доступе к правилу KVM
112162179 API Runtime Кеширование объекта JavaScript без преобразования в строку может привести к взаимоблокировке
111860576 API Runtime Отсутствие ошибки в правилах в отношении квот
111671525 Размещенные целевые значения Коды ответов, отличные от успешных, от размещенных целевых сервисов запускают поток ошибок в прокси
111523933 Расширения(коннекторы) Проблема с кешированием правил для уточнений
111420263 API Runtime Исключение ConcurrentModification в MessageLogging
110843526 Сервер управления При создании или изменении хука потока с помощью Management API необходимо проверять общий поток
110805739 API Runtime В процессе CPS параметр TTL не задан как -1, когда Reuserefreshtoken имеет значение true и срок действия токена обновления не задан явным образом
110429629 API Runtime Правило BasicAuthentication передает переменную request.headers.Authorization в DebugSession
110425503 API Runtime Перезагрузка Nginx приводит к проблемам с доступностью MP
110311540 API Runtime NPE при завершении работы MP
110161455 API Runtime AccessEntity должен использовать метод получения по названию приложения вместо метода получения всех приложений для организаций CPS
90695522 API Runtime context.proxyRequest.asForm generates java.lang.ArrayIndexOutOfBoundsException: 1
79734096 Сервер управления Журналы аудита для прокси-серверов больше не фильтруются по прокси-серверам
78105568 Сервер управления Развертывания общих потоков не отображаются в вызовах API управления /org/{org}/sharedflows/{sharedflow}/deployments после обновления развернутого общего потока
77528868 Trireme Trireme regression: Script server.js exited with status code -1: Property 0 not found
73766568 API Runtime После обновления 170213_02 до версии 171117_01 значительно увеличилась задержка для прокси-сервера с целевым объектом Trireme/Node
72710481 API Runtime CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 API Runtime Обработка исключения NullPointerException при выключении маршрутизаторов
68833699 API Runtime Информация о прокси-сервере API иногда не удаляется из дерева классификации API
67377575 Размещенные целевые значения Несоответствие между записью в Аналитике и данными, отправленными клиенту через прокси-сервер Node.js
112481174 Размещенные целевые значения Не отменять удаление прокси-сервера из-за ошибки Turbo
117171470 Размещенные целевые значения Как исправить сообщение об ошибке "Недопустимый файл app.yaml"
67169139 API Runtime Неверный формат временной метки syslog в правиле MessageLogging
67165418 API Runtime Ошибка лицензирования из-за использования большего количества процессоров сообщений, чем разрешено лицензией

Исправление будет включено в следующий выпуск Edge для частного облака.

67165195 API Runtime ValidateSAMLAssertion не проверяет подпись утверждения, встроенного в подписанный ответ
66214414 API Runtime Переменная currentstep.flowstate всегда возвращает значение SHARED_FLOW, если на нее ссылаются из общего процесса
65731656 API Runtime API защиты от угроз периодически не отвечает на один и тот же запрос
133197060 API Runtime Ошибка 57 Gateway timeout при передаче данных из MP в целевую систему
110535186 API Runtime ServiceCallout без элемента Response и HTTPTargetConnection, указывающий на прокси-сервер: ИНОГДА вызов не выполняется
132443137 API Runtime Измените поведение Message Processor, чтобы игнорировать заголовки, начинающиеся с символа "перевод строки" (0x0A)X-Apigee-*. Поэтому вам нужно переработать код, в котором используются заголовки X-Apigee-*, и заменить их на поддерживаемые.
125709964 API Runtime Некорректная работа функции Invalidate Cache с параметром purgeChildEntries