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

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

Примечание: Данный плейбук содержит инструкции по устранению ошибки с кодом 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
  • Возможная причина:

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

  • Кодировка, указанная в заголовке Content-Encoding HTTP-ответа бэкэнда/целевого сервера, является допустимой и поддерживается 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, журналах доступа 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-прокси.

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

Исправить

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

  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. В Apigee Edge компонент TargetServer настроен некорректно для поддержки TLS/SSL-соединений.
  2. Серверная часть может внезапно разорвать соединение, пока Apigee Edge ожидает ответа от серверной части.
  3. Неправильно настроены тайм-ауты Keep Alive на Apigee и бэкэнд-сервере.
ПЛАН

messaging.runtime.*

messaging.runtime.RouteFailed

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

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

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

  • В ProxyEnpoint не определено правило маршрутизации по умолчанию (т.е., <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 , and
    • Данные в форме должны содержать знак процента (%) или знак процента (%), за которым следуют недопустимые шестнадцатеричные символы, запрещенные в соответствии с разделом 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}
  • Возможная причина:

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

Исправить

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

security.util.TrustStoreWithNoCertificates

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

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

Исправить

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