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

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

Ошибки в Apigee Edge

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

Ошибки процессора сообщений

Процессор сообщений — это основной компонент Apigee Edge, который обрабатывает политики и взаимодействует с бэкэнд-серверами. Он может возвращать ошибки, если обнаруживает какие-либо проблемы, такие как:

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

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

Пример ошибки из обработчика сообщений

Процессор сообщений всегда возвращает код состояния 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 Proxy.
  • Политика выполняется долго из-за ресурсоемких вычислительных операций, высокой нагрузки или низкой производительности.

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

ПЛАН

flow.SharedFlowNotFound

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

Эта ошибка возникает, если определенный общий поток:

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

  • Существует, но не развернуто
ПЛАН

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, не загружена на один или несколько процессоров сообщений.
ПЛАН
Эта ошибка также может возникнуть, если несколько виртуальных хостов имеют одинаковый псевдоним хоста и номер порта. ПЛАН

messaging.adaptors.http.flow.DecompressionFailureAtRequest

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

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

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

  • Формат полезной нагрузки, отправленный клиентом в рамках HTTP-запроса, не соответствует формату кодировки, указанному в заголовке Content-Encoding
ПЛАН

messaging.adaptors.http.flow.DecompressionFailureAtResponse

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

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

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

  • Формат полезной нагрузки, отправленный внутренним/целевым сервером как часть HTTP-ответа, не соответствует формату кодировки, указанному в заголовке Content-Encoding
ПЛАН

messaging.adaptors.http.flow.ErrorResponseCode

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

ПЛАН

ВИДЕО

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

ПЛАН

ВИДЕО

  • Сообщение об ошибке:
Сообщение об ошибке и его формат могут различаться в зависимости от реализации внутреннего сервера.
  • Возможная причина:
Эта ошибка возникает, если внутренний сервер отвечает Apigee Edge кодом состояния 503 .
  • Код статуса HTTP:
504 ПЛАН
  • Сообщение об ошибке:
Сообщение об ошибке и его формат могут различаться в зависимости от реализации внутреннего сервера.
  • Возможная причина:
Эта ошибка возникает, если внутренний сервер отвечает 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 в течение периода ожидания ввода-вывода, настроенного на процессоре сообщений.
ПЛАН

messaging.adaptors.http.flow.LengthRequired

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

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

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

  • Спецификация HTTP:
RFC Раздел 3.3.2: Длина содержимого

Исправить

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

  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 хост неверен или содержит нежелательные символы (например, пробел).

ПЛАН

ВИДЕО

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

ПЛАН

ВИДЕО

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. Указанный в целевой конечной точке хост целевого сервера неверен или содержит нежелательные символы (например, пробел).

ПЛАН

Ошибка DNS:

ВИДЕО

Сетевое подключение:

ВИДЕО

Эта ошибка также может возникнуть, если внутренний сервер преждевременно закрывает соединение, пока процессор сообщений все еще отправляет полезную нагрузку запроса на внутренний сервер. ПЛАН

messaging.adaptors.http.flow.SslHandshakeFailed

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

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

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

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

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

ПЛАН

ВИДЕО

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

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

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

  1. TargetServer неправильно настроен для поддержки соединений TLS/SSL в Apigee Edge.
  2. Внутренний сервер может внезапно закрыть соединение, пока Apigee Edge ожидает ответа от внутреннего сервера.
  3. Неправильно настроены тайм-ауты поддержания активности на Apigee и внутреннем сервере.
ПЛАН

messaging.runtime.*

messaging.runtime.RouteFailed

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

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

  • Нет условия правила маршрутизации ( <RouteRule> ), соответствующего запросу в прокси-сервере
  • И

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

Исправить

Чтобы устранить эту ошибку, следуйте этим инструкциям:

  1. Просмотрите правила маршрутизации, определенные в ProxyEndpoint, и измените их, чтобы убедиться, что есть хотя бы одно условие правила маршрутизации, соответствующее вашему запросу.
  2. При наличии нескольких правил маршрутизации RouteRules рекомендуется определить правило маршрутизации по умолчанию без каких-либо условий.
  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 и
    • Данные формы со знаком процента (%) или со знаком процента (%), за которым следуют недопустимые шестнадцатеричные символы, которые не допускаются в соответствии с разделом 17.13.4.1 «Формы» .
  2. Прокси-сервер API в Apigee Edge считывает определенные параметры формы, содержащие любые символы, которые не разрешены с помощью политики ExtractVariables или AssignMessage в потоке запросов.
ПЛАН

protocol.http.DuplicateHeader

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

protocol.http.EmptyHeaderName

  • Код статуса HTTP:
400 Bad Request
  • Сообщение об ошибке:
Header name cannot be empty
  • Возможная причина:
Эта ошибка возникает, если имя заголовка, отправленное клиентским приложением в Apigee Edge как часть HTTP-запроса, пусто.
  • Спецификация 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}
  • Возможная причина:
Эта ошибка возникает, если имя заголовка, отправленное клиентским приложением в Apigee Edge как часть HTTP-запроса, содержит символы, не входящие в набор 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}
  • Возможная причина:
Эта ошибка возникает, если имя заголовка, отправленное клиентским приложением в Apigee Edge как часть HTTP-запроса, содержит недопустимые символы, такие как знак равенства (=), запятая (,), точка с запятой (;), табуляция, 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
ПЛАН

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 Поля заголовка запроса слишком большие
  • Ограничения:
Пределы Apigee Edge
ПЛАН

protocol.http.TooBigLine

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

protocol.http.UnsupportedEncoding

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

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: Путь

ПЛАН

protocol.http.DuplicateHeader

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

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: Путь

ПЛАН

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 и внутренним сервером прокси-сервером из-за проблем с брандмауэром, ACL (списком контроля доступа), DNS, доступности внутреннего сервера и т. д.

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

ПЛАН

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 Зарезервировано

Исправить

Поскольку код состояния 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 Метод не разрешен и RFC 7231, раздел 7.4.1: Разрешить

ПЛАН

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 «Нет содержимого» и RFC 7231, раздел 6.3.6: 205 «Сброс содержимого»

ПЛАН

protocol.http.TooBigBody

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

protocol.http.TooBigHeaders

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

protocol.http.TooBigLine

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

protocol.http.UnsupportedEncoding

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

security.util.*

security.util.KeyAliasNotFound

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

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

Исправить

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

security.util.TrustStoreWithNoCertificates

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

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

Исправить

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