Каталог ошибок выполнения

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

Ошибки в Apigee Edge

Когда запросы API выполняются через Apigee Edge, компоненты Apigee Edge (маршрутизаторы и процессоры сообщений) или серверы бэкэнда могут возвращать ошибки клиентским приложениям.

Ошибки обработчика сообщений

Message Processor – это основной компонент Apigee Edge, который обрабатывает правила и взаимодействует с бэкенд-серверами. Если при проверке будут обнаружены проблемы, например:

  • Проблемы с подключением к сети, сбои при подтверждении TLS, недоступность внутреннего сервера, отсутствие ответа при обмене данными с внутренним сервером.
  • Сбои при выполнении правил
  • Недопустимые HTTP-заголовки, кодировка, путь, несоответствие спецификациям HTTP, превышение лимитов на товары и т. д.:
    • С HTTP-запросом, отправленным клиентскими приложениями
    • ИЛИ

    • С HTTP-ответом, отправленным внутренним сервером
  • И многое другое

Пример ошибки от Message Processor

Обработчик сообщений всегда возвращает код статуса HTTP, за которым следует сообщение об ошибке и код ошибки в формате JSON, как показано ниже:

Клиентское приложение получает код ответа, как в следующем примере:

HTTP/1.1 414 Request-URI Too Long

Ответ об ошибке от обработчика сообщений имеет следующий формат:

{
   "fault":{
      "faultstring":"request line size exceeding 7,168",
      "detail":{
         "errorcode":"protocol.http.TooBigLine"
      }
   }
}

Описание полей в ответе с ошибкой

Поле Описание
faultstring Содержит сообщение об ошибке с описанием возможной причины.
errorcode Код ошибки (также называется кодом неисправности), связанный с ошибкой.

Каталог ошибок выполнения

В этом каталоге ошибок приведена вся информация, которая вам может понадобиться в отношении кодов ошибок времени выполнения (не связанных с правилами), возвращаемых компонентом Apigee Edge Message Processor. В нем приводится следующая информация о каждом коде ошибки:

  • Код статуса HTTP
  • Сообщение об ошибке
  • Возможные причины ошибки
  • Любые связанные спецификации HTTP и/или ограничения на количество товаров.
  • Руководства и видео с инструкциями по диагностике причины ошибки и эффективными решениями, которые можно применить самостоятельно (если доступны).
  • Исправление, которое можно применить, чтобы устранить ошибку самостоятельно.

В этой статье рассматриваются следующие категории кодов ошибок:

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

Код ошибки Описание Исправить

flow.*

flow.APITimedOut

  • Код статуса HTTP:
504 Gateway Timeout
  • Сообщение об ошибке:
API timed out
  • Возможная причина

Эта ошибка возникает, если:

  • Внутренний сервер не отвечает в течение времени ожидания, заданного свойством api.timeout для определенного прокси API.
  • Правило выполняется долго из-за ресурсоемких операций, высокой нагрузки или низкой производительности.

Примечание. В этом руководстве приведены инструкции по устранению ошибки с кодом messaging.adaptors.http.flow.GatewayTimeout, но его также можно использовать для устранения ошибки с кодом flow.APITimedOut.

PLAYBOOK

flow.SharedFlowNotFound

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
Shared Flow {shared_flow_name} Not Found
  • Возможная причина

Эта ошибка возникает, если:

  • Не существует
  • ИЛИ

  • Существует, но не развернут
PLAYBOOK

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • Код статуса HTTP:
404 Not Found
  • Сообщение об ошибке:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • Возможная причина

Эта ошибка возникает в следующих случаях:

  1. Прокси-сервер API:
    1. НЕ настроен на прием запросов на определенном виртуальном хосте
    2. НЕ настроен для приема запросов по определенному пути, используемому в запросе
    3. НЕ развернут в той среде, в которой вы пытаетесь выполнить запросы к API.
    4. НЕ развернуто на одном или нескольких процессорах сообщений
  2. Среда, в которой вы пытаетесь выполнить запросы к API, не загружена в один или несколько процессоров сообщений.
PLAYBOOK
Эта ошибка также может возникнуть, если у нескольких виртуальных хостов одинаковые псевдонимы хостов и номера портов. PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Decompression failure at request
  • Возможная причина

Эта ошибка возникает только в следующих случаях:

  • Кодировка, указанная в заголовке HTTP-запроса Content-Encoding, действительна и поддерживается Apigee Edge.
  • BUT

  • Формат полезной нагрузки, отправленной клиентом в составе HTTP-запроса, не соответствует формату кодировки, указанному в заголовке Content-Encoding.
PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Decompression failure at response
  • Возможная причина

Эта ошибка возникает только в следующих случаях:

  • Кодировка, указанная в заголовке HTTP-ответа Content-Encoding внутреннего/целевого сервера, действительна и поддерживается Apigee Edge.
  • BUT

  • Формат полезной нагрузки, отправленной целевым сервером в составе HTTP-ответа, не соответствует формату кодировки, указанному в заголовке Content-Encoding.
PLAYBOOK

messaging.adaptors.http.flow.ErrorResponseCode

  • Код статуса HTTP:
500

PLAYBOOK

ВИДЕО

  • Сообщение об ошибке:
Сообщение об ошибке и его формат могут различаться в зависимости от реализации внутреннего сервера.
  • Возможная причина
Эта ошибка возникает, если сервер бэкэнда отвечает Apigee Edge кодом статуса 500.
  • Код статуса HTTP:
503

PLAYBOOK

ВИДЕО

  • Сообщение об ошибке:
Сообщение об ошибке и его формат могут различаться в зависимости от реализации внутреннего сервера.
  • Возможная причина
Эта ошибка возникает, если сервер бэкэнда отвечает Apigee Edge кодом статуса 503.
  • Код статуса HTTP:
504 PLAYBOOK
  • Сообщение об ошибке:
Сообщение об ошибке и его формат могут различаться в зависимости от реализации внутреннего сервера.
  • Возможная причина
Эта ошибка возникает, если сервер бэкэнда отвечает Apigee Edge кодом статуса 504.

Примечание. Код ошибки messaging.adaptors.http.flow.ErrorResponseCode не возвращается в составе сообщения об ошибке, отправляемого клиентским приложениям. Это связано с тем, что код ошибки задается Apigee Edge, когда внешний сервер отвечает с ошибкой и любым из кодов статуса 4XX или 5XX. Этот код ошибки можно посмотреть в API Monitoring, журналах доступа NGINX или базе данных аналитики.

messaging.adaptors.http.flow.GatewayTimeout

  • Код статуса HTTP:
504 Gateway Timeout
  • Сообщение об ошибке:
Gateway Timeout
  • Возможная причина
Эта ошибка возникает, если сервер не отвечает процессору сообщений Apigee Edge в течение времени ожидания ввода-вывода, настроенного в процессоре сообщений.
PLAYBOOK

messaging.adaptors.http.flow.LengthRequired

  • Код статуса HTTP:
411 Length Required
  • Сообщение об ошибке:
'Content-Length' is missing
  • Возможная причина

Эта ошибка возникает, если клиентское приложение не передает заголовок Content-Length как часть HTTP-запросов POST и PUT, отправленных в Apigee Edge.

Примечание. Запросы, которые не выполняются из-за этой ошибки, нельзя отследить с помощью инструмента трассировки, поскольку Message Processor выполняет эту проверку на очень раннем этапе, задолго до обработки запроса и выполнения каких-либо правил в прокси API.

  • Спецификация HTTP:
RFC Section 3.3.2: Content-Length

Исправить

Чтобы устранить эту ошибку, выполните следующие действия:

  1. Убедитесь, что клиентское приложение всегда передает заголовок Content-Length как часть HTTP-запросов POST и PUT, отправляемых в Apigee Edge. Пример:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Даже если вы передаете пустую полезную нагрузку с запросами POST и PUT, убедитесь, что передается заголовок Content-Length: 0. Пример:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • Код статуса HTTP:
503 Service Unavailable
  • Сообщение об ошибке:
The Service is temporarily unavailable
  • Возможная причина

Эта ошибка возникает в одном из следующих сценариев, если вы используете TargetServer в Apigee Edge:

  1. Неправильное DNS-преобразование хоста бэкенд-сервера пользовательским сервером авторизации привело к тому, что были получены неверные IP-адреса, из-за чего возникли ошибки подключения.
  2. Ошибки тайм-аута подключения из-за:
    1. Ограничение брандмауэра на внутреннем сервере не позволяет Apigee Edge подключиться к внутреннему серверу.
    2. Проблемы с подключением к сети между Apigee Edge и внутренним сервером.
  3. Хост, указанный в TargetServer, неправильный или содержит нежелательные символы (например, пробел).

PLAYBOOK

ВИДЕО

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

PLAYBOOK

ВИДЕО

messaging.adaptors.http.flow.RequestTimeOut

  • Код статуса HTTP:
408 Request Timeout
  • Сообщение об ошибке:
Request timed out
  • Возможная причина
Эта ошибка возникает, если обработчик сообщений Apigee Edge не получает полезную нагрузку запроса от клиентского приложения в течение периода ожидания ввода-вывода, настроенного в компоненте обработчика сообщений.

Исправить

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

messaging.adaptors.http.flow.ServiceUnavailable

  • Код статуса HTTP:
503 Service Unavailable
  • Сообщение об ошибке:
The Service is temporarily unavailable
  • Возможная причина

Эта ошибка возникает в следующих случаях:

  1. Неправильное DNS-преобразование хоста бэкенд-сервера пользовательским сервером авторизации привело к получению неверных IP-адресов, из-за чего возникли ошибки подключения.
  2. Ошибки превышения времени ожидания подключения могут быть вызваны:
    1. Ограничение брандмауэра на внутреннем сервере не позволяет Apigee Edge подключиться к внутреннему серверу.
    2. Проблемы с подключением к сети между Apigee Edge и внутренним сервером.
  3. Хост целевого сервера, указанный в целевой конечной точке, неправильный или содержит нежелательные символы (например, пробел).

PLAYBOOK

Ошибка DNS:

ВИДЕО

Подключение к сети:

ВИДЕО

Эта ошибка также может возникнуть, если бэкенд-сервер преждевременно закрывает подключение, пока Message Processor ещё отправляет полезную нагрузку запроса на бэкенд-сервер. PLAYBOOK

messaging.adaptors.http.flow.SslHandshakeFailed

  • Код статуса HTTP:
503 Service Unavailable
  • Сообщение об ошибке:
SSL Handshake failed {error_message}
  • Возможная причина

Эта ошибка возникает во время процесса подтверждения SSL между Message Processor Apigee Edge и внутренним сервером, если:

  1. Хранилище доверенных сертификатов Message Processor Apigee Edge:
    • Содержит цепочку сертификатов, которая не соответствует полной цепочке сертификатов внутреннего сервера.
    • ИЛИ

    • Не содержит полную цепочку сертификатов внутреннего сервера
  2. Цепочка сертификатов, предоставленная внутренним сервером:
    • Содержит полное доменное имя (FQDN), которое не соответствует имени хоста, указанному в целевой конечной точке.
    • ИЛИ

    • Содержит неверную или неполную цепочку сертификатов

PLAYBOOK

ВИДЕО

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Unexpected EOF at target
  • Возможная причина

Эта ошибка возникает в следующих случаях:

  1. Целевой сервер неправильно настроен для поддержки подключений по протоколам TLS/SSL в Apigee Edge.
  2. Серверная часть может внезапно закрыть подключение, пока Apigee Edge ожидает ответа от нее.
  3. Неправильно настроенное время ожидания Keep-Alive на сервере Apigee и внутреннем сервере.
PLAYBOOK

messaging.runtime.*

messaging.runtime.RouteFailed

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
Unable to route the message to a TargetEndpoint
  • Возможная причина

Эта ошибка возникает, если Apigee Edge не может перенаправить запрос ни в одну из конечных точек, поскольку:

  • В прокси-сервере нет условия правила маршрута (<RouteRule>), которое соответствовало бы запросу.
  • И

  • В ProxyEndpoint не задано правило маршрутизации по умолчанию (то есть <RouteRule> без каких-либо условий.

Исправить

Чтобы устранить эту ошибку, выполните следующие действия:

  1. Проверьте правила маршрутизации, заданные в ProxyEndpoint, и измените их так, чтобы хотя бы одно условие правила маршрутизации соответствовало вашему запросу.
  2. Если у вас несколько правил маршрутизации, рекомендуется задать правило по умолчанию без условий.
  3. Убедитесь, что правило маршрута по умолчанию всегда определяется последним в списке условных маршрутов, поскольку правила оцениваются сверху вниз в ProxyEndpoint.

Подробнее о том, как задавать условия <RouteRule> в ProxyEndpoint, рассказывается в статье Цели с условиями.

messaging.runtime.SenseRaiseFault

  • Код статуса HTTP:
403 Forbidden
  • Сообщение об ошибке:
Sense Fault
  • Возможная причина
Эта ошибка возникает, если запрос к API отправляется с определенного IP-адреса клиента, который заблокирован в соответствии с правилами Apigee Sense.

Исправить

Чтобы устранить эту ошибку, выполните следующие действия:

  1. Убедитесь, что вы заблокировали определенный IP-адрес клиента, проверив правила, настроенные в Apigee Sense. Если он заблокирован, значит все работает правильно.
  2. Если определенный IP-адрес клиента не заблокирован, но вы по-прежнему получаете эту ошибку, обратитесь в службу поддержки Apigee Edge.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
Bad Form Data
  • Возможная причина

Эта ошибка возникает, только если соблюдены все следующие условия:

  1. HTTP-запрос, отправленный клиентом в Apigee Edge, содержит:
    • Content-Type: application/x-www-form-urlencoded, и
    • Данные формы со знаком процента (%) или знаком процента (%), за которым следуют недопустимые шестнадцатеричные символы, которые не разрешены в соответствии с Forms - Section 17.13.4.1.
  2. Прокси API в Apigee Edge считывает определенные параметры формы, содержащие недопустимые символы, с помощью правила ExtractVariables или AssignMessage в потоке запроса.
PLAYBOOK

protocol.http.DuplicateHeader

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Duplicate Header "{header_name}"
  • Возможная причина
Эта ошибка возникает, если определенный заголовок HTTP, который не должен иметь дубликатов в Apigee Edge, появляется более одного раза с одинаковыми или разными значениями в составе HTTP-запроса, отправленного клиентским приложением в Apigee Edge.
  • Спецификация HTTP:
RFC 7230, раздел 3.2.2: порядок полей
PLAYBOOK

protocol.http.EmptyHeaderName

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Header name cannot be empty
  • Возможная причина
Эта ошибка возникает, если имя заголовка, отправленное в составе HTTP-запроса клиентским приложением в Apigee Edge, пустое.
  • Спецификация HTTP:
RFC 7230, раздел 3.2: поля заголовка

Исправить

Убедитесь, что HTTP-запрос, отправленный клиентским приложением в Apigee Edge, всегда содержит действительное имя заголовка в соответствии с RFC 7230, раздел 3.2: Поля заголовка.

protocol.http.HeaderNameWithNonAsciiChar

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Header {header_name} contains non ascii character {character}
  • Возможная причина
Эта ошибка возникает, если в названии заголовка, отправленного в составе HTTP-запроса клиентским приложением в Apigee Edge, содержатся символы, не входящие в набор ASCII.
  • Спецификация HTTP:

RFC 7230, раздел 3.2: поля заголовка и RFC 7230, раздел 3.2.6: компоненты значений полей

Исправить

Убедитесь, что HTTP-запрос клиента, отправленный в Apigee Edge, не содержит символов, отличных от ASCII, в названиях заголовков, как указано в RFC 7230, раздел 3.2.6: компоненты значений полей.

protocol.http.HeaderWithInvalidChar

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Header {header_name} contains invalid character {character}
  • Возможная причина
Эта ошибка возникает, если название заголовка, отправленное в составе HTTP-запроса клиентским приложением в Apigee Edge, содержит недопустимые символы, такие как знак равенства (=), запятая (,), точка с запятой (;), табуляция, CRLF и символ новой строки.
  • Спецификация HTTP:

RFC 7230, раздел 3.2: поля заголовка и RFC 7230, раздел 3.2.6: компоненты значения поля

Исправить

Убедитесь, что HTTP-запрос, отправленный клиентским приложением в Apigee Edge, не содержит недопустимых символов в названиях заголовков согласно RFC 7230, раздел 3.2.6: Компоненты значения поля.

protocol.http.InvalidPath

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Invalid path {path}
  • Возможная причина
Эта ошибка возникает, если путь в URL HTTP-запроса, отправленного клиентским приложением в Apigee Edge, содержит символы, которые не разрешены спецификацией RFC 3986, раздел 3.3: "Путь".
  • Спецификация HTTP:

RFC 3986, раздел 3: компоненты синтаксиса и RFC 3986, раздел 3.3: путь

Исправить

Убедитесь, что путь в URL HTTP-запроса, отправленного клиентским приложением в Apigee Edge, не содержит символов, которые не разрешены в RFC 3986, раздел 3.3: Путь.

protocol.http.MessageReadError

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Unexpected I/O after message headers have been read.
  • Возможная причина
Эта редкая ошибка возникает, когда MP получает ввод-вывод по каналу, когда он этого не ожидает. MP считывает запрос, прочитал все заголовки и готов к чтению полезной нагрузки запроса. Затем он сталкивается с событием ввода-вывода, которое, по-видимому, относится к тем же заголовкам.

Исправить

Найдите сообщение в журнале, чтобы узнать больше о том, что происходит.

logger.atSevere().log(
    "Unexpected I/O after message headers have been read. Channel diagnostics=%s."
        + " HeartBeat=%s",
    input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
                

protocol.http.TooBigBody

  • Код статуса HTTP:
413 Request Entity Too Large
  • Сообщение об ошибке:
Body buffer overflow
  • Возможная причина
Эта ошибка возникает, если размер полезной нагрузки, отправленной клиентским приложением в составе HTTP-запроса к Apigee Edge, превышает допустимый лимит в Apigee Edge.
  • Лимиты
Лимиты Apigee Edge
PLAYBOOK

protocol.http.TooBigHeaders

  • Код статуса HTTP:
431 Request Header Fields Too Large
  • Сообщение об ошибке:
request headers size exceeding {limit}
  • Возможная причина
Общий размер всех заголовков запроса, отправленных клиентским приложением в составе HTTP-запроса к Apigee Edge, превышает допустимое ограничение в Apigee Edge.
  • Спецификация HTTP:
RFC 6585, раздел 5: 431 Request Header Fields Too Large
  • Лимиты
Лимиты Apigee Edge
PLAYBOOK

protocol.http.TooBigLine

  • Код статуса HTTP:
414 Request-URI Too Long
  • Сообщение об ошибке:
request line size exceeding {limit}
  • Возможная причина
Эта ошибка возникает, если размер строки запроса, отправленной клиентским приложением в составе HTTP-запроса к Apigee Edge, превышает допустимый лимит в Apigee Edge.
  • Лимиты
Лимиты Apigee Edge
PLAYBOOK

protocol.http.UnsupportedEncoding

  • Код статуса HTTP:
415 Unsupported Media
  • Сообщение об ошибке:
Unsupported Encoding "{encoding}"
  • Возможная причина
Эта ошибка возникает, если заголовок Content-Encoding, отправленный клиентом как часть HTTP-ответа, содержит формат кодировки или полезной нагрузки, который не поддерживается Apigee Edge.
  • Спецификация HTTP:
RFC 7231, раздел 6.5.13: 415 Unsupported Media Type
PLAYBOOK

protocol.http.* - Caused by target

protocol.http.BadPath

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
Invalid request path
  • Возможная причина
Эта ошибка возникает, если URL запроса к серверу, представленный переменной потока target.url, содержит путь, который начинается с вопросительного знака (?) вместо косой черты (/), что является недопустимым.
  • Спецификация HTTP:

RFC 3986, раздел 3: компоненты синтаксиса и RFC 3986, раздел 3.3: путь

PLAYBOOK

protocol.http.DuplicateHeader

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Duplicate Header "{header_name}"
  • Возможная причина
Эта ошибка возникает, если определенный заголовок HTTP, который не должен иметь дубликатов в Apigee Edge, появляется более одного раза с одинаковыми или разными значениями в составе ответа HTTP, отправленного внутренним сервером в Apigee Edge.
  • Спецификация HTTP:
RFC 7230, раздел 3.2.2: порядок полей
PLAYBOOK

protocol.http.EmptyHeaderName

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Header name cannot be empty
  • Возможная причина
Эта ошибка возникает, если название заголовка, отправленное внутренним сервером в составе HTTP-ответа Apigee Edge, пустое.
  • Спецификация HTTP:
RFC 7230, раздел 3.2: поля заголовка

Исправить

Убедитесь, что HTTP-ответ, отправленный бэкенд-сервером в Apigee Edge, всегда содержит действительное имя заголовка в соответствии с RFC 7230, раздел 3.2: Поля заголовка.

protocol.http.EmptyPath

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
Request path cannot be empty
  • Возможная причина
Эта ошибка возникает, если URL HTTP-запроса к серверу, представленный переменной потока target.url, содержит пустой путь.
  • Спецификация HTTP:

RFC 3986, раздел 3: компоненты синтаксиса и RFC 3986, раздел 3.3: путь

PLAYBOOK

protocol.http.HeaderNameWithNonAsciiChar

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Header {header_name} contains non ascii character {character}
  • Возможная причина
Эта ошибка возникает, если в названии заголовка, отправленного бэкенд-сервером в составе HTTP-ответа на Apigee Edge, содержатся символы, не входящие в набор ASCII.
  • Спецификация HTTP:

RFC 7230, раздел 3.2: поля заголовка и RFC 7230, раздел 3.2.6: компоненты значений полей

Исправить

Убедитесь, что HTTP-ответ внутреннего сервера, отправленный в Apigee Edge, не содержит символов, отличных от ASCII, в названиях заголовков, как указано в RFC 7230, раздел 3.2.6: Компоненты значения поля.

protocol.http.HeaderWithInvalidChar

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Header {header_name} contains invalid character {character}
  • Возможная причина
Эта ошибка возникает, если имя заголовка, отправленное внутренним сервером в составе HTTP-ответа, содержит недопустимые символы, например знак равенства (=), запятую (,), точку с запятой (;), табуляцию, CRLF и символ новой строки.
  • Спецификация HTTP:

RFC 7230, раздел 3.2: поля заголовка и RFC 7230, раздел 3.2.6: компоненты значения поля

Исправить

Убедитесь, что HTTP-ответ, отправленный серверу Apigee Edge, не содержит недопустимых символов в названиях заголовков согласно RFC 7230, раздел 3.2.6: Компоненты значений полей.

protocol.http.ProxyTunnelCreationFailed

  • Код статуса HTTP:
503 Service Unavailable
  • Сообщение об ошибке:
Proxy refused to create tunnel with response status {status code}
  • Возможная причина

Эта ошибка возникает при создании туннеля между Apigee Edge и внутренним сервером через прокси-сервер из-за проблем с брандмауэром, списком контроля доступа, DNS, доступностью внутреннего сервера и т. д.

Примечание. Код статуса в сообщении об ошибке (faultstring) указывает на основную причину проблемы.

PLAYBOOK

protocol.http.Response306Reserved

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Response Status code 306 is reserved, so can't be used.
  • Возможная причина

Эта ошибка возникает, если серверный код вернул Apigee Edge код статуса 306.

Код статуса 306 был определен в предыдущей версии спецификации HTTP. Согласно текущей спецификации HTTP, этот код зарезервирован и не должен использоваться.

  • Спецификация HTTP:
RFC 7231, раздел 6.3.5: 306 Reserved (306 Зарезервировано)

Исправить

Поскольку код статуса 306 зарезервирован, убедитесь, что ваш внутренний сервер не использует его при отправке ответа в Apigee Edge.

protocol.http.Response405WithoutAllowHeader

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Received 405 Response without Allow Header
  • Возможная причина
Внутренний сервер отвечает кодом статуса 405 Method Not Allowed без заголовка Allow.
  • Спецификация HTTP:

RFC 7231, раздел 6.5.5: 405 Method Not Allowed и RFC 7231, раздел 7.4.1: Allow

PLAYBOOK

protocol.http.ResponseWithBody

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Received {status_code} Response with message body
  • Возможная причина

Эта ошибка возникает, если HTTP-ответ от внутреннего сервера к Apigee Edge имеет код 204 No Content или 205 Reset Content, но содержит тело ответа и/или один или несколько следующих заголовков:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • Спецификация HTTP:

RFC 7231, раздел 6.3.5: 204 No Content и RFC 7231, раздел 6.3.6: 205 Reset Content

PLAYBOOK

protocol.http.TooBigBody

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
Body buffer overflow
  • Возможная причина
Эта ошибка возникает, если размер полезной нагрузки, отправленной клиентским приложением в составе HTTP-запроса к Apigee Edge, превышает допустимый лимит в Apigee Edge.
  • Лимиты
Лимиты Apigee Edge
PLAYBOOK

protocol.http.TooBigHeaders

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
response headers size exceeding {limit}
  • Возможная причина
Эта ошибка возникает, если общий размер всех заголовков ответа, отправленных внутренним сервером в составе HTTP-ответа для Apigee Edge, превышает допустимое ограничение в Apigee Edge.
  • Лимиты
Лимиты Apigee Edge
PLAYBOOK

protocol.http.TooBigLine

  • Код статуса HTTP:
502 Bad Gateway
  • Сообщение об ошибке:
response line size exceeding {limit}
  • Возможная причина
Эта ошибка возникает, если размер строки ответа, отправленной внутренним сервером в составе HTTP-ответа в Apigee Edge, превышает допустимое значение в Apigee Edge.
  • Лимиты
Лимиты Apigee Edge
PLAYBOOK

protocol.http.UnsupportedEncoding

  • Код статуса HTTP:
415 Unsupported Media
  • Сообщение об ошибке:
Unsupported Encoding "{encoding}"
  • Возможная причина
Эта ошибка возникает, если заголовок Content-Encoding, отправленный внутренним сервером в составе ответа HTTP, содержит формат кодировки или полезной нагрузки, который не поддерживается Apigee Edge.
  • Спецификация HTTP:
RFC 7231, раздел 6.5.13: 415 Unsupported Media Type
PLAYBOOK

security.util.*

security.util.KeyAliasNotFound

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Возможная причина

Эта ошибка возникает, если указанный в TargetEndpoint или TargetServer псевдоним ключа не найден в хранилище ключей.

Исправить

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

security.util.TrustStoreWithNoCertificates

  • Код статуса HTTP:
500 Internal Server Error
  • Сообщение об ошибке:
TrustStore {truststore_name} has no certificates
  • Возможная причина

Эта ошибка возникает, если в хранилище доверенных сертификатов, на которое ссылается TargetEndpoint или TargetServer, нет сертификатов.

Исправить

Если вы хотите проверить сертификат внутреннего сервера и использовать хранилище доверенных сертификатов в TargetEndpoint или TargetServer, убедитесь, что в хранилище есть действительные сертификаты внутреннего сервера.