Danh mục lỗi thời gian chạy

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Lỗi trong ứng dụng Apigee Edge

Khi yêu cầu API được gửi qua Apigee Edge, các thành phần của Apigee Edge sẽ kết nối với Bộ định tuyến và Bộ xử lý tin nhắn hoặc phần phụ trợ có thể trả về lỗi cho ứng dụng khách.

Lỗi từ Trình xử lý thư

Trình xử lý tin nhắn là thành phần cốt lõi của Apigee Edge, giúp xử lý các chính sách và tương tác với máy chủ phụ trợ. Công cụ này có thể trả về lỗi nếu phát hiện thấy bất kỳ vấn đề nào như:

  • Vấn đề về kết nối mạng, lỗi bắt tay TLS, không có máy chủ phụ trợ, thiếu phản hồi trong khi giao tiếp với máy chủ phụ trợ
  • Lỗi trong quá trình thực thi chính sách
  • Tiêu đề HTTP, phương thức mã hoá, đường dẫn không hợp lệ, không tuân thủ các thông số kỹ thuật HTTP, vượt quá giới hạn sản phẩm, v.v.:
    • Với yêu cầu HTTP do ứng dụng khách gửi
    • OR

    • Có phản hồi HTTP do máy chủ phụ trợ gửi
  • Và nhiều nội dung khác nữa

Lỗi mẫu từ Trình xử lý thư

Trình xử lý thông báo luôn trả về mã trạng thái HTTP, theo sau là thông báo lỗi cùng với mã lỗi ở định dạng JSON như hiển thị dưới đây:

Ứng dụng khách sẽ nhận được mã phản hồi như ví dụ sau:

HTTP/1.1 414 Request-URI Too Long

Phản hồi lỗi từ Trình xử lý thư sẽ xuất hiện ở định dạng sau:

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

Nội dung mô tả về các trường trong phản hồi lỗi:

Trường Mô tả
faultstring Chứa thông báo lỗi mô tả nguyên nhân có thể gây ra lỗi
errorcode Mã lỗi (còn gọi là mã lỗi) liên quan đến lỗi

Danh mục lỗi trong thời gian chạy

Danh mục lỗi này cung cấp tất cả thông tin cần biết về thời gian chạy mã lỗi (đối với các lỗi không liên quan đến chính sách) mà Thông báo Apigee Edge trả về Thành phần Bộ xử lý. Trong đó có các thông tin sau cho từng mã lỗi:

  • Mã trạng thái HTTP
  • Thông báo lỗi
  • Nguyên nhân có thể gây ra lỗi
  • Mọi thông số kỹ thuật HTTP liên quan và/hoặc giới hạn sản phẩm
  • Cẩm nang và video chứa hướng dẫn chẩn đoán nguyên nhân lỗi và giải pháp hiệu quả mà bạn có thể áp dụng để tự giải quyết lỗi (nếu có)
  • Cách khắc phục mà bạn có thể áp dụng để tự giải quyết lỗi

Sau đây là các danh mục mã lỗi:

Sử dụng hộp Tìm kiếm bên dưới để lọc bảng nhằm hiển thị các thông tin trên cho một mã lỗi cụ thể. Bạn có thể tìm kiếm mã trạng thái hoặc bất kỳ nội dung nào trong trường bất kỳ trong bảng.

Mã lỗi Mô tả Khắc phục

flow.*

flow.APITimedOut

  • Mã trạng thái HTTP:
504 Gateway Timeout
  • Thông báo lỗi:
API timed out
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu:

  • Máy chủ phụ trợ không phản hồi lại trong khoảng thời gian chờ đã định cấu hình theo cơ sở lưu trú api.timeout cho Proxy API cụ thể.
  • Một chính sách mất nhiều thời gian do các hoạt động tính toán chuyên sâu, tốc độ cao tải hoặc hiệu suất kém.

Lưu ý: Cẩm nang này cung cấp hướng dẫn khắc phục sự cố mã lỗi messaging.adaptors.http.flow.GatewayTimeout; tuy nhiên, bạn có thể sử dụng cùng một cẩm nang hướng dẫn khắc phục mã lỗi flow.APITimedOut.

CẨM NANG

flow.SharedFlowNotFound

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
Shared Flow {shared_flow_name} Not Found
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu luồng chung cụ thể:

  • Không tồn tại
  • OR

  • Tồn tại nhưng chưa được triển khai
CẨM NANG

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • Mã trạng thái HTTP:
404 Not Found
  • Thông báo lỗi:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra trong một trong các trường hợp sau:

  1. Proxy API cụ thể là:
    1. KHÔNG được định cấu hình để chấp nhận yêu cầu trên Máy chủ ảo
    2. KHÔNG được định cấu hình để chấp nhận các yêu cầu trên đường dẫn cụ thể được sử dụng trong yêu cầu
    3. KHÔNG được triển khai trong môi trường cụ thể mà bạn đang cố thực hiện các yêu cầu API
    4. KHÔNG được triển khai trên một hoặc nhiều Bộ xử lý thư
  2. Môi trường cụ thể mà bạn đang cố gắng thực hiện các yêu cầu API không được tải trên một hoặc nhiều Trình xử lý thư
CẨM NANG
Lỗi này cũng có thể xảy ra nếu nhiều máy chủ ảo có cùng một máy chủ bí danh và số cổng. CẨM NANG

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • Mã trạng thái HTTP:
400 Bad Request
  • Thông báo lỗi:
Decompression failure at request
  • Nguyên nhân có thể xảy ra:

Lỗi này chỉ xảy ra nếu:

  • Phương thức mã hoá được chỉ định trong tiêu đề của yêu cầu HTTP Content-Encoding là hợp lệ và được hỗ trợ bởi Apigee Edge,
  • NHƯNG

  • Định dạng tải trọng do máy khách gửi dưới dạng một phần của HTTP không phù hợp với định dạng mã hóa được chỉ định trong Tiêu đề Content-Encoding
CẨM NANG

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Decompression failure at response
  • Nguyên nhân có thể xảy ra:

Lỗi này chỉ xảy ra nếu:

  • Phương thức mã hoá được chỉ định trong phần phụ trợ/máy chủ mục tiêu Tiêu đề phản hồi HTTP Content-Encoding hợp lệ và được hỗ trợ bởi Apigee Edge,
  • NHƯNG

  • Định dạng tải trọng do máy chủ phụ trợ/máy chủ mục tiêu gửi dưới dạng của phản hồi HTTP không khớp với định dạng mã hóa được chỉ định trong Tiêu đề Content-Encoding
CẨM NANG

messaging.adaptors.http.flow.ErrorResponseCode

  • Mã trạng thái HTTP:
500

CẨM NANG

VIDEO

  • Thông báo lỗi:
Thông báo lỗi và định dạng có thể khác nhau tuỳ thuộc vào máy chủ phụ trợ trong quá trình triển khai.
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu máy chủ phụ trợ phản hồi bằng trạng thái mã 500 cho Apigee Edge.
  • Mã trạng thái HTTP:
503

CẨM NANG

VIDEO

  • Thông báo lỗi:
Thông báo lỗi và định dạng có thể khác nhau tuỳ thuộc vào máy chủ phụ trợ trong quá trình triển khai.
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu máy chủ phụ trợ phản hồi bằng trạng thái mã 503 cho Apigee Edge.
  • Mã trạng thái HTTP:
504 CẨM NANG
  • Thông báo lỗi:
Thông báo lỗi và định dạng có thể khác nhau tuỳ thuộc vào máy chủ phụ trợ trong quá trình triển khai.
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu máy chủ phụ trợ phản hồi bằng trạng thái mã 504 cho Apigee Edge.

Lưu ý: Mã lỗi messaging.adaptors.http.flow.ErrorResponseCode không được trả về như một phần của thông báo lỗi được gửi tới ứng dụng khách. Đây là vì mã lỗi này là do Apigee Edge đặt bất cứ khi nào máy chủ phụ trợ phản hồi bằng một lỗi và bất kỳ giá trị nào trong số 4XX hoặc 5XX các mã trạng thái. Bạn có thể xem mã lỗi này trong phần Giám sát API, nhật ký truy cập NGINX, hoặc cơ sở dữ liệu của Analytics.

messaging.adaptors.http.flow.GatewayTimeout

  • Mã trạng thái HTTP:
504 Gateway Timeout
  • Thông báo lỗi:
Gateway Timeout
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu máy chủ phụ trợ không phản hồi lại với Trình xử lý tin nhắn của Apigee Edge trong Khoảng thời gian chờ I/O được định cấu hình trên Trình xử lý thông báo.
CẨM NANG

messaging.adaptors.http.flow.LengthRequired

  • Mã trạng thái HTTP:
411 Length Required
  • Thông báo lỗi:
'Content-Length' is missing
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu tiêu đề Content-Length không được truyền bởi ứng dụng khách như một phần của HTTP POSTPUT các yêu cầu được gửi đến Apigee Edge.

Lưu ý: Không thực hiện được các yêu cầu bằng cách này không thể ghi lại lỗi trong công cụ Theo dõi, vì Trình xử lý tin nhắn thực hiện việc xác thực này ở giai đoạn rất sớm, trước khi xử lý yêu cầu và thực thi bất kỳ chính sách nào trong Proxy API.

  • Quy cách HTTP:
Mục 3.3.2 của RFC: Thời lượng của nội dung

Khắc phục

Để giải quyết lỗi này, hãy thực hiện các bước sau:

  1. Đảm bảo rằng ứng dụng luôn truyền tiêu đề Content-Length như một phần của HTTP POSTPUT yêu cầu được gửi đến Apigee Edge. Ví dụ:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Ngay cả khi bạn đang truyền một tải trọng trống bằng POSTPUT yêu cầu, hãy đảm bảo rằng tiêu đề Đã vượt qua Content-Length: 0. Ví dụ:

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

messaging.adaptors.http.flow.NoActiveTargets

  • Mã trạng thái HTTP:
503 Service Unavailable
  • Thông báo lỗi:
The Service is temporarily unavailable
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra trong một trong các trường hợp sau: nếu bạn đang dùng TargetServer trong Apigee Edge:

  1. Độ phân giải DNS không chính xác của máy chủ máy chủ phụ trợ bởi máy chủ uỷ quyền tuỳ chỉnh dẫn đến địa chỉ IP không hợp lệ dẫn đến lỗi kết nối.
  2. Lỗi hết thời gian kết nối do:
    1. Hạn chế tường lửa trên máy chủ phụ trợ giúp ngăn chặn Apigee Edge kết nối với máy chủ phụ trợ.
    2. Vấn đề về kết nối mạng giữa Apigee Edge và máy chủ phụ trợ.
  3. Máy chủ lưu trữ được chỉ định trong TargetServer không chính xác hoặc chứa ký tự không mong muốn (chẳng hạn như dấu cách).

CẨM NANG

VIDEO

Lỗi này cũng có thể xảy ra nếu quy trình kiểm tra tình trạng được định cấu hình để theo dõi tình trạng không kiểm tra được máy chủ mục tiêu.

CẨM NANG

VIDEO

messaging.adaptors.http.flow.RequestTimeOut

  • Mã trạng thái HTTP:
408 Request Timeout
  • Thông báo lỗi:
Request timed out
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu Trình xử lý tin nhắn Apigee Edge không nhận được yêu cầu tải trọng từ ứng dụng khách cho Khoảng thời gian chờ I/O được định cấu hình trên thành phần Trình xử lý thông báo.

Khắc phục

Đảm bảo rằng ứng dụng gửi tải trọng yêu cầu trong Khoảng thời gian chờ I/O được định cấu hình trên thành phần Trình xử lý tin nhắn của Apigee Edge.

messaging.adaptors.http.flow.ServiceUnavailable

  • Mã trạng thái HTTP:
503 Service Unavailable
  • Thông báo lỗi:
The Service is temporarily unavailable
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra trong một trong các trường hợp sau:

  1. Độ phân giải DNS không chính xác của máy chủ phụ trợ máy chủ lưu trữ của máy chủ uỷ quyền tuỳ chỉnh dẫn đến địa chỉ IP không hợp lệ dẫn đến đến lỗi kết nối.
  2. Lỗi hết thời gian kết nối do:
    1. Hạn chế tường lửa trên máy chủ phụ trợ giúp ngăn chặn Apigee Edge kết nối với máy chủ phụ trợ.
    2. Vấn đề về kết nối mạng giữa Apigee Edge và máy chủ phụ trợ.
  3. Máy chủ lưu trữ máy chủ mục tiêu được chỉ định trong Điểm cuối mục tiêu là không chính xác hoặc chứa ký tự không mong muốn (chẳng hạn như dấu cách).

CẨM NANG

Lỗi DNS:

VIDEO

Kết nối mạng:

VIDEO

Lỗi này cũng có thể xảy ra nếu máy chủ phụ trợ đóng sớm trong khi Trình xử lý thư vẫn đang gửi tải trọng yêu cầu đến máy chủ phụ trợ. CẨM NANG

messaging.adaptors.http.flow.SslHandshakeFailed

  • Mã trạng thái HTTP:
503 Service Unavailable
  • Thông báo lỗi:
SSL Handshake failed {error_message}
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra trong quá trình bắt tay SSL giữa các ứng dụng của Apigee Edge Trình xử lý thông báo và máy chủ phụ trợ trong trường hợp:

  1. Kho tin cậy của Công cụ xử lý tin nhắn của Apigee Edge:
    • Chứa một chuỗi chứng chỉ không khớp với chuỗi chứng chỉ hoàn chỉnh
    • OR

    • Không chứa chuỗi chứng chỉ hoàn chỉnh của máy chủ phụ trợ
  2. Chuỗi chứng chỉ do máy chủ phụ trợ cung cấp:
    • Chứa Tên miền đủ điều kiện (FQDN) không khớp với tên máy chủ được chỉ định trong điểm cuối đích
    • OR

    • Chứa chuỗi chứng chỉ không chính xác/chưa hoàn chỉnh

CẨM NANG

VIDEO

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Unexpected EOF at target
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra trong một trong các trường hợp sau:

  1. Máy chủ đích không được định cấu hình đúng cách để hỗ trợ kết nối TLS/SSL trong Apigee Edge.
  2. Máy chủ phụ trợ có thể đóng kết nối đột ngột, trong khi Apigee Edge đang chờ phản hồi từ máy chủ phụ trợ.
  3. Duy trì thời gian chờ được thiết lập không chính xác trên Apigee và máy chủ phụ trợ.
CẨM NANG

messaging.runtime.*

messaging.runtime.RouteFailed

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
Unable to route the message to a TargetEndpoint
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu Apigee Edge không thể gửi yêu cầu đến bất kỳ TargetEndpoints vì:

  • Không có điều kiện nào về quy tắc định tuyến (<RouteRule>) khớp với yêu cầu trong proxy
  • Không có quy tắc định tuyến mặc định nào được xác định trong ProxyEndpoint (ví dụ: <RouteRule> không có bất kỳ điều kiện nào)

Khắc phục

Để giải quyết lỗi này, hãy làm theo các hướng dẫn sau:

  1. Xem lại các quy tắc về tuyến đường đã xác định trong ProxyEndpoint và sửa đổi để đảm bảo rằng có ít nhất một điều kiện về quy tắc định tuyến phù hợp với yêu cầu của bạn.
  2. Bạn nên xác định quy tắc định tuyến mặc định không có điều kiện nào khi bạn có nhiều RouteRules.
  3. Đảm bảo rằng quy tắc định tuyến mặc định luôn được xác định sau cùng trong danh sách Tuyến đường có điều kiện vì các quy tắc được đánh giá từ trên xuống trong ProxyEndpoint.

Để tìm hiểu thêm về cách xác định các điều kiện <RouteRule> trong một ProxyEndpoint, hãy xem Mục tiêu có điều kiện.

messaging.runtime.SenseRaiseFault

  • Mã trạng thái HTTP:
403 Forbidden
  • Thông báo lỗi:
Sense Fault
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu yêu cầu API được thực hiện từ một địa chỉ IP của ứng dụng cụ thể Thao tác này bị chặn theo quy tắc của Apigee Sense.

Khắc phục

Để giải quyết lỗi này, hãy làm theo các hướng dẫn sau:

  1. Xác minh rằng bạn đã chặn địa chỉ IP cụ thể của máy khách bằng cách kiểm tra các quy tắc được thiết lập trong Apigee Sense. Nếu bị chặn, thì điều đó cho thấy nó đang hoạt động như được thiết kế.
  2. Nếu địa chỉ IP của máy khách cụ thể không bị chặn, nhưng bạn vẫn gặp lỗi này thì hãy liên hệ với Bộ phận hỗ trợ Apigee Edge.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
Bad Form Data
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra khi và chỉ khi tất cả các điều kiện sau được đáp ứng:

  1. Yêu cầu HTTP mà ứng dụng gửi đến Apigee Edge chứa:
    • Content-Type: application/x-www-form-urlencoded, và
    • Biểu mẫu dữ liệu có ký hiệu phần trăm (%) hoặc tỷ lệ phần trăm dấu (%) theo sau là các ký tự thập lục phân không hợp lệ không được phép theo Biểu mẫu – Mục 17.13.4.1.
  2. Proxy API trong Apigee Edge sẽ đọc biểu mẫu cụ thể có chứa bất kỳ ký tự nào không được phép sử dụng ExtractVariables hoặc chính sách PagingMessage trong luồng yêu cầu.
CẨM NANG

protocol.http.DuplicateHeader

  • Mã trạng thái HTTP:
400 Bad Request
  • Thông báo lỗi:
Duplicate Header "{header_name}"
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu một tiêu đề HTTP cụ thể không được phép có tiêu đề trùng lặp trong Apigee Edge, xuất hiện nhiều lần với giá trị giống nhau hoặc khác nhau trong Yêu cầu HTTP mà ứng dụng gửi đến Apigee Edge.
  • Quy cách HTTP:
RFC 7230, mục 3.2.2: Thứ tự trường
CẨM NANG

protocol.http.EmptyHeaderName

  • Mã trạng thái HTTP:
400 Bad Request
  • Thông báo lỗi:
Header name cannot be empty
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tên tiêu đề được gửi dưới dạng một phần của HTTP yêu cầu của ứng dụng đến Apigee Edge đang trống.
  • Quy cách HTTP:
RFC 7230, mục 3.2: Trường tiêu đề

Khắc phục

Đảm bảo rằng ứng dụng đã gửi yêu cầu HTTP với Apigee Edge luôn chứa tên tiêu đề hợp lệ theo RFC 7230, mục 3.2: Trường tiêu đề.

protocol.http.HeaderNameWithNonAsciiChar

  • Mã trạng thái HTTP:
400 Bad Request
  • Thông báo lỗi:
Header {header_name} contains non ascii character {character}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tên tiêu đề được gửi trong yêu cầu HTTP bởi ứng dụng để Apigee Edge chứa các ký tự không phải ASCII.
  • Quy cách HTTP:

RFC 7230, mục 3.2: Trường tiêu đề RFC 7230, mục 3.2.6: Các thành phần giá trị trường

Khắc phục

Đảm bảo rằng yêu cầu HTTP của máy khách được gửi đến Theo yêu cầu, Apigee Edge không chứa các ký tự không phải ASCII trong tên tiêu đề RFC 7230, mục 3.2.6: Thành phần giá trị trường.

protocol.http.HeaderWithInvalidChar

  • Mã trạng thái HTTP:
400 Bad Request
  • Thông báo lỗi:
Header {header_name} contains invalid character {character}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tên tiêu đề được gửi trong yêu cầu HTTP mà ứng dụng để ứng dụng Apigee Edge chứa các ký tự không hợp lệ, chẳng hạn như bằng (=), dấu phẩy (,), dấu chấm phẩy (;), thẻ, CRLF và ký tự Dòng mới.
  • Quy cách HTTP:

RFC 7230, mục 3.2: Trường tiêu đề RFC 7230, mục 3.2.6: Các thành phần giá trị trường

Khắc phục

Đảm bảo rằng yêu cầu HTTP mà ứng dụng gửi đến Apigee Edge không chứa mọi ký tự không hợp lệ trong tên tiêu đề theo RFC 7230, mục 3.2.6: Thành phần giá trị trường

protocol.http.InvalidPath

  • Mã trạng thái HTTP:
400 Bad Request
  • Thông báo lỗi:
Invalid path {path}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu đường dẫn trong URL yêu cầu HTTP do ứng dụng khách gửi với Apigee Edge chứa các ký tự không được phép theo quy cách RFC 3986, mục 3.3: Đường dẫn.
  • Quy cách HTTP:

RFC 3986, mục 3: Thành phần cú pháp RFC 3986, mục 3.3: Đường dẫn

Khắc phục

Đảm bảo rằng đường dẫn trong URL yêu cầu HTTP do máy khách gửi đơn đăng ký đến Apigee Edge không chứa bất kỳ ký tự nào không được phép dưới dạng theo RFC 3986, mục 3.3: Đường dẫn.

protocol.http.TooBigBody

  • Mã trạng thái HTTP:
413 Request Entity Too Large
  • Thông báo lỗi:
Body buffer overflow
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu kích thước tải trọng do ứng dụng khách gửi như một phần của Yêu cầu HTTP gửi đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
Các giới hạn của Apigee Edge
CẨM NANG

protocol.http.TooBigHeaders

  • Mã trạng thái HTTP:
431 Request Header Fields Too Large
  • Thông báo lỗi:
request headers size exceeding {limit}
  • Nguyên nhân có thể xảy ra:
Tổng kích thước của tất cả các tiêu đề yêu cầu do ứng dụng gửi trong yêu cầu HTTP đến Apigee Edge lớn hơn giới hạn cho phép giới hạn trong Apigee Edge.
  • Quy cách HTTP:
RFC 6585, mục 5: 431 Yêu cầu trường tiêu đề quá lớn
  • Giới hạn:
Giới hạn cạnh của Apigee
CẨM NANG

protocol.http.TooBigLine

  • Mã trạng thái HTTP:
414 Request-URI Too Long
  • Thông báo lỗi:
request line size exceeding {limit}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu kích thước của dòng yêu cầu do ứng dụng khách gửi trong yêu cầu HTTP gửi đến Apigee Edge lớn hơn giới hạn cho phép trong Lợi ích của Apigee.
  • Giới hạn:
Các giới hạn của Apigee Edge
CẨM NANG

protocol.http.UnsupportedEncoding

  • Mã trạng thái HTTP:
415 Unsupported Media
  • Thông báo lỗi:
Unsupported Encoding "{encoding}"
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tiêu đề Content-Encoding do ứng dụng gửi như một phần của phản hồi HTTP chứa định dạng mã hoá/tải trọng không được được Apigee Edge hỗ trợ.
  • Quy cách HTTP:
RFC 7231, mục 6.5.13: 415 Loại nội dung nghe nhìn không được hỗ trợ
CẨM NANG

protocol.http.* - Caused by target

protocol.http.BadPath

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
Invalid request path
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu URL yêu cầu của máy chủ phụ trợ, được biểu thị bằng biến luồng target.url, chứa một đường dẫn bắt đầu bằng một dấu chấm hỏi (?) thay cho dấu gạch chéo lên (/), kết quả này không hợp lệ.
  • Quy cách HTTP:

RFC 3986, mục 3: Thành phần cú pháp RFC 3986, mục 3.3: Đường dẫn

CẨM NANG

protocol.http.DuplicateHeader

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Duplicate Header "{header_name}"
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tiêu đề HTTP cụ thể không được phép có tiêu đề trùng lặp trong Apigee Edge, xuất hiện nhiều lần với giá trị giống nhau hoặc khác nhau phản hồi HTTP do máy chủ phụ trợ gửi đến Apigee Edge.
  • Quy cách HTTP:
RFC 7230, mục 3.2.2: Thứ tự trường
CẨM NANG

protocol.http.EmptyHeaderName

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Header name cannot be empty
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tên tiêu đề do máy chủ phụ trợ gửi như một phần của HTTP phản hồi cho Apigee Edge đang trống.
  • Quy cách HTTP:
RFC 7230, mục 3.2: Trường tiêu đề

Khắc phục

Đảm bảo rằng phản hồi HTTP do phần phụ trợ gửi máy chủ với Apigee Edge luôn chứa tên tiêu đề hợp lệ theo RFC 7230, mục 3.2: Trường tiêu đề.

protocol.http.EmptyPath

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
Request path cannot be empty
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu URL yêu cầu HTTP của máy chủ phụ trợ, được biểu thị bằng biến luồng target.url có chứa một đường dẫn trống.
  • Quy cách HTTP:

RFC 3986, mục 3: Thành phần cú pháp RFC 3986, mục 3.3: Đường dẫn

CẨM NANG

protocol.http.HeaderNameWithNonAsciiChar

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Header {header_name} contains non ascii character {character}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tên tiêu đề do máy chủ phụ trợ gửi như một phần của phản hồi HTTP cho Apigee Cạnh chứa các ký tự không phải ASCII.
  • Quy cách HTTP:

RFC 7230, mục 3.2: Trường tiêu đề RFC 7230, mục 3.2.6: Các thành phần giá trị trường

Khắc phục

Đảm bảo rằng phản hồi HTTP của máy chủ phụ trợ được gửi đến Theo yêu cầu, Apigee Edge không chứa các ký tự không phải ASCII trong tên tiêu đề RFC 7230, mục 3.2.6: Thành phần giá trị trường.

protocol.http.HeaderWithInvalidChar

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Header {header_name} contains invalid character {character}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tên tiêu đề do máy chủ phụ trợ gửi như một phần của phản hồi HTTP, chứa các ký tự không hợp lệ như bằng (=), dấu phẩy (,), dấu chấm phẩy (;), tab, Ký tự CRLF và Newline.
  • Quy cách HTTP:

RFC 7230, mục 3.2: Trường tiêu đề RFC 7230, mục 3.2.6: Các thành phần giá trị trường

Khắc phục

Đảm bảo rằng phản hồi HTTP của máy chủ phụ trợ gửi đến Apigee Edge không chứa bất kỳ ký tự không hợp lệ trong tên tiêu đề theo RFC 7230, mục 3.2.6: Thành phần giá trị trường

protocol.http.ProxyTunnelCreationFailed

  • Mã trạng thái HTTP:
503 Service Unavailable
  • Thông báo lỗi:
Proxy refused to create tunnel with response status {status code}
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra trong quá trình tạo đường hầm giữa Apigee Edge và máy chủ phụ trợ bởi máy chủ proxy do tường lửa, ACL (Danh sách kiểm soát truy cập), DNS sự cố, tính sẵn có của tính khả dụng của máy chủ phụ trợ, v.v.

Lưu ý: Mã trạng thái trong thông báo lỗi (faultstring) cho biết nguyên nhân cấp cao của vấn đề.

CẨM NANG

protocol.http.Response306Reserved

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Response Status code 306 is reserved, so can't be used.
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu máy chủ phụ trợ đã phản hồi bằng Mã trạng thái 306 gửi tới Apigee Edge.

Mã trạng thái 306 đã được xác định trong phiên bản trước của Thông số kỹ thuật HTTP. Theo thông số kỹ thuật HTTP hiện tại, mã này dành riêng và không nên sử dụng.

  • Quy cách HTTP:
RFC 7231, mục 6.3.5: 306 Được dành riêng

Khắc phục

Vì mã trạng thái 306 là dành riêng, hãy đảm bảo rằng máy chủ phụ trợ của bạn không sử dụng mã trạng thái này trong khi gửi phản hồi về Apigee Edge.

protocol.http.Response405WithoutAllowHeader

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Received 405 Response without Allow Header
  • Nguyên nhân có thể xảy ra:
Máy chủ phụ trợ sẽ phản hồi bằng Mã trạng thái 405 Method Not Allowed không có tiêu đề "Allow".
  • Quy cách HTTP:

RFC 7231, mục 6.5.5: 405 Phương thức không được phép RFC 7231, mục 7.4.1: Cho phép

CẨM NANG

protocol.http.ResponseWithBody

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Received {status_code} Response with message body
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu phản hồi HTTP từ máy chủ phụ trợ đến Apigee Edge là 204 No Content hoặc 205 Reset Content nhưng có chứa nội dung phản hồi và/hoặc một hoặc nhiều tiêu đề sau:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • Quy cách HTTP:

RFC 7231, mục 6.3.5: 204 Không có nội dung RFC 7231, mục 6.3.6: 205 Đặt lại nội dung

CẨM NANG

protocol.http.TooBigBody

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Body buffer overflow
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu kích thước tải trọng do ứng dụng khách gửi như một phần của Yêu cầu HTTP gửi đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
Các giới hạn của Apigee Edge
CẨM NANG

protocol.http.TooBigHeaders

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
response headers size exceeding {limit}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tổng kích thước của tất cả các tiêu đề phản hồi được gửi bởi máy chủ phụ trợ trong phản hồi HTTP gửi đến Apigee Edge lớn hơn giới hạn được phép trong Apigee Edge.
  • Giới hạn:
Giới hạn cạnh của Apigee
CẨM NANG

protocol.http.TooBigLine

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
response line size exceeding {limit}
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu kích thước của dòng phản hồi do máy chủ phụ trợ gửi dưới dạng một phần của phản hồi HTTP đối với Apigee Edge lớn hơn giới hạn cho phép trong Apigee Cạnh.
  • Giới hạn:
Các giới hạn của Apigee Edge
CẨM NANG

protocol.http.UnsupportedEncoding

  • Mã trạng thái HTTP:
415 Unsupported Media
  • Thông báo lỗi:
Unsupported Encoding "{encoding}"
  • Nguyên nhân có thể xảy ra:
Lỗi này xảy ra nếu tiêu đề Content-Encoding được gửi bởi máy chủ phụ trợ như một phần của phản hồi HTTP chứa mã hoá/tải trọng không phải là được Apigee Edge hỗ trợ.
  • Quy cách HTTP:
RFC 7231, mục 6.5.13: 415 Loại nội dung nghe nhìn không được hỗ trợ
CẨM NANG

security.util.*

security.util.KeyAliasNotFound

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu KeyAlias cụ thể được tham chiếu trong TargetEndpoint hoặc không tìm thấy TargetServer trong Kho khoá cụ thể.

Khắc phục

Đảm bảo rằng KeyAlias được chỉ định trong TargetEndpoint hoặc TargetServer tồn tại và là một phần của Kho khoá cụ thể.

security.util.TrustStoreWithNoCertificates

  • Mã trạng thái HTTP:
500 Internal Server Error
  • Thông báo lỗi:
TrustStore {truststore_name} has no certificates
  • Nguyên nhân có thể xảy ra:

Lỗi này xảy ra nếu Truststore cụ thể được tham chiếu trong TargetEndpoint hoặc TargetServer không chứa bất kỳ chứng chỉ nào.

Khắc phục

Nếu bạn muốn xác thực chứng chỉ của máy chủ phụ trợ và muốn sử dụng Truststore trong TargetEndpoint hoặc TargetServer, thì đảm bảo rằng Truststore chứa chứng chỉ hợp lệ của máy chủ phụ trợ.