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

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

Ошибки в 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. Он включает следующую информацию для каждого из кодов ошибок:

  • Код статуса 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
  • Возможная причина:

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

  • Кодировка, указанная в заголовке 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, журналах доступа 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. 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.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
  • Возможная причина:

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

Исправить

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