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

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
info

Lỗi trong Apigee Edge

Khi các yêu cầu API được thực hiện thông qua Apigee Edge, các thành phần của Apigee Edge là Bộ định tuyến và Bộ xử lý thông báo hoặc các máy chủ phụ trợ có thể trả về lỗi cho các ứng dụng khách.

Lỗi từ Trình xử lý tin nhắn

Message Processor là thành phần cốt lõi của Apigee Edge, có chức năng xử lý các chính sách và tương tác với máy chủ phụ trợ. Hàm này có thể trả về lỗi nếu phát hiện thấy vấn đề, chẳng hạn như:

  • Các vấn đề về khả năng kết nối mạng, lỗi bắt tay TLS, máy chủ phụ trợ không hoạt động, thiếu phản hồi trong quá trình 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ủ quy cách HTTP, vượt quá giới hạn sản phẩm, v.v.:
    • Với yêu cầu HTTP do các ứng dụng khách gửi
    • HOẶC

    • Với 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ông báo

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

Ứng dụng khách nhận được một 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ông báo sẽ có dạng như 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 được gọi là mã lỗi) liên kết với lỗi

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

Danh mục lỗi này cung cấp tất cả thông tin bạn cần biết về mã lỗi thời gian chạy (đối với các lỗi không liên quan đến chính sách) do thành phần Trình xử lý thông báo Apigee Edge trả về. Bảng này bao gồm những 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 quy cách HTTP và/hoặc giới hạn sản phẩm có liên quan
  • Sách hướng dẫn và video có hướng dẫn chẩn đoán nguyên nhân gây ra lỗi và các 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ó)
  • Bản sửa lỗi mà bạn có thể áp dụng để tự giải quyết lỗi

Chúng tôi đề cập đến các danh mục mã lỗi sau:

Sử dụng hộp Tìm kiếm bên dưới để lọc bảng nhằm hiển thị thông tin nêu 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 nội dung bất kỳ trong trường bất kỳ của bảng.

Mã lỗi Mô tả Cách 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 trong khoảng thời gian chờ do thuộc tính api.timeout định cấu hình 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ải cao hoặc hiệu suất kém.

Lưu ý: Sổ tay này hướng dẫn cách khắc phục mã lỗi messaging.adaptors.http.flow.GatewayTimeout; tuy nhiên, bạn có thể dùng cùng một sổ tay này để 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 chia sẻ cụ thể:

  • Không tồn tại
  • HOẶC

  • 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. CHƯA được định cấu hình để chấp nhận các yêu cầu trên Máy chủ ảo cụ thể
    2. CHƯA được định cấu hình để chấp nhận các yêu cầu trên đường dẫn cụ thể được dùng trong yêu cầu
    3. CHƯA triển khai trong môi trường cụ thể mà bạn đang cố gắng đưa ra các yêu cầu API
    4. CHƯA triển khai trên một hoặc nhiều Trình xử lý thông báo
  2. Môi trường cụ thể mà bạn đang cố gắng đưa ra 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ông báo
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 bí danh máy chủ 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:

  • Mã hoá được chỉ định trong tiêu đề yêu cầu HTTP Content-Encoding là hợp lệ và được Apigee Edge hỗ trợ,
  • BUT

  • Định dạng tải trọng do ứng dụng gửi trong yêu cầu HTTP không khớp với định dạng mã hoá đượ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 tiêu đề phản hồi HTTP Content-Encoding của máy chủ phụ trợ/mục tiêu là hợp lệ và được Apigee Edge hỗ trợ,
  • BUT

  • Định dạng trọng tải do máy chủ phụ trợ/mục tiêu gửi dưới dạng một phần của phản hồi HTTP không khớp với định dạng mã hoá đượ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 cách triển khai máy chủ phụ trợ.
  • 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 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 cách triển khai máy chủ phụ trợ.
  • 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 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 cách triển khai máy chủ phụ trợ.
  • 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 504 cho Apigee Edge.

Lưu ý: Mã lỗi messaging.adaptors.http.flow.ErrorResponseCode không được trả về trong thông báo lỗi gửi đến các ứng dụng khách. Điều này là do Apigee Edge đặt mã lỗi này 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ỳ mã trạng thái 4XX hoặc 5XX nào. Bạn có thể xem mã lỗi này trong tính năng Giám sát API, nhật ký truy cập NGINX hoặc cơ sở dữ liệu phân tích.

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 Trình xử lý thông báo 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 ứng dụng khách truyền dưới dạng một phần của các yêu cầu HTTP POSTPUT được gửi đến Apigee Edge.

Lưu ý: Bạn không thể ghi lại các yêu cầu không thành công do lỗi này trong công cụ Theo dõi, vì Trình xử lý thông báo thực hiện quy trình 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 API Proxy.

  • Quy cách HTTP:
RFC Section 3.3.2: Content-Length

Cách 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 khách luôn truyền tiêu đề Content-Length trong yêu cầu HTTP POSTPUT đượ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 các yêu cầu POSTPUT, hãy đảm bảo rằng tiêu đề Content-Length: 0 được truyền. 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 sử dụng TargetServer trong Apigee Edge:

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

CẨM NANG

VIDEO

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

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ý thông báo Apigee Edge không nhận được tải trọng yêu cầu từ ứng dụng khách 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ý thông báo.

Cách khắc phục

Đảm bảo rằng ứng dụng khách 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ý thông báo 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. Việc máy chủ uỷ quyền tuỳ chỉnh phân giải DNS không chính xác của máy chủ lưu trữ phụ trợ đã dẫn đến địa chỉ IP không hợp lệ, gây ra lỗi kết nối.
  2. Lỗi hết thời gian kết nối do:
    1. Hạn chế về tường lửa trên máy chủ phụ trợ ngăn Apigee Edge kết nối với máy chủ phụ trợ.
    2. Vấn đề về khả năng kết nối mạng giữa Apigee Edge và máy chủ phụ trợ.
  3. Máy chủ lưu trữ đích được chỉ định trong Điểm cuối đích không chính xác hoặc có các ký tự không mong muốn (chẳng hạn như khoảng trắng).

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 kết nối quá sớm trong khi Trình xử lý thông báo 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 Trình xử lý thông báo của Apigee Edge và máy chủ phụ trợ nếu:

  1. Truststore của Trình xử lý thông báo 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 của máy chủ phụ trợ
    • HOẶC

    • 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 một 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
    • HOẶC

    • Chứa chuỗi chứng chỉ không chính xác/không đầy đủ

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. TargetServer không được định cấu hình đúng cách để hỗ trợ các kết nối TLS/SSL trong Apigee Edge.
  2. Máy chủ phụ trợ có thể đột ngột đóng kết nối, trong khi Apigee Edge đang chờ phản hồi từ máy chủ phụ trợ.
  3. Thời gian chờ duy trì kết nối được định cấu hình 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ể định tuyến yêu cầu đến bất kỳ TargetEndpoint nào vì:

  • Không có điều kiện quy tắc định tuyến (<RouteRule>) nào khớp với yêu cầu trong một proxy
  • Không có quy tắc định tuyến mặc định nào được xác định trong ProxyEndpoint (tức là <RouteRule> mà không có điều kiện nào)

Cách khắc phục

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

  1. Xem xét các quy tắc định tuyến được xác định trong ProxyEndpoint và sửa đổi để đảm bảo rằng có ít nhất một điều kiện quy tắc định tuyến khớp với yêu cầu của bạn.
  2. Bạn nên xác định một quy tắc tuyến đường mặc định mà không có điều kiện khi có nhiều RouteRules.
  3. Đảm bảo rằng quy tắc tuyến đường mặc định luôn được xác định cuối cùng trong danh sách các 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 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 một yêu cầu API được thực hiện từ một địa chỉ IP máy khách cụ thể bị chặn trong các quy tắc của Apigee Sense.

Cách khắc phục

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

  1. Xác minh rằng bạn đã chặn địa chỉ IP của khách hàng cụ thể bằng cách kiểm tra các quy tắc được định cấu hình trong Apigee Sense. Nếu bị chặn, tức là tính năng này đang hoạt động như dự kiến.
  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, hãy liên hệ với Nhóm 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 nếu và chỉ nếu tất cả các điều kiện sau đây được đáp ứng:

  1. Yêu cầu HTTP do ứng dụng gửi đến Apigee Edge có chứa:
    • Content-Type: application/x-www-form-urlencoded, và
    • Dữ liệu biểu mẫu có dấu phần trăm (%), hoặc dấu phần trăm (%) 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. API proxy trong Apigee Edge đọc các tham số biểu mẫu cụ thể chứa mọi ký tự không được phép sử dụng chính sách ExtractVariables hoặc AssignMessage 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ó bản sao trong Apigee Edge, xuất hiện nhiều lần với cùng một giá trị hoặc các giá trị khác nhau trong yêu cầu HTTP do ứng dụng khách gửi đến Apigee Edge.
  • Quy cách HTTP:
RFC 7230, phần 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 trong yêu cầu HTTP của ứng dụng khách đến Apigee Edge bị trống.
  • Quy cách HTTP:
RFC 7230, phần 3.2: Trường tiêu đề

Cách khắc phục

Đảm bảo rằng yêu cầu HTTP do ứng dụng khách gửi đến Apigee Edge luôn chứa tên tiêu đề hợp lệ theo RFC 7230, phần 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 của ứng dụng khách đến Apigee Edge chứa các ký tự không phải ASCII.
  • Quy cách HTTP:

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

Cách khắc phục

Đảm bảo rằng yêu cầu HTTP của ứng dụng gửi đến Apigee Edge không chứa các ký tự không phải ASCII trong tên tiêu đề theo RFC 7230, phần 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 của ứng dụng khách đến Apigee Edge chứa các ký tự không hợp lệ, chẳng hạn như dấu bằng (=), dấu phẩy (,), dấu chấm phẩy (;), ký tự tab, CRLF và ký tự dòng mới.
  • Quy cách HTTP:

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

Cách khắc phục

Đảm bảo rằng yêu cầu HTTP do ứng dụng khách gửi đến Apigee Edge không chứa bất kỳ ký tự không hợp lệ nào trong tên tiêu đề theo RFC 7230, phần 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 đến Apigee Edge chứa các ký tự không được phép theo quy cách RFC 3986, phần 3.3: Đường dẫn.
  • Quy cách HTTP:

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

Cách khắc phục

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

protocol.http.MessageReadError

  • Mã trạng thái HTTP:
502 Bad Gateway
  • Thông báo lỗi:
Unexpected I/O after message headers have been read.
  • Nguyên nhân có thể xảy ra:
Lỗi hiếm gặp này xảy ra khi MP nhận được hoạt động đầu vào/đầu ra trên một kênh khi không mong đợi. MP đang đọc một yêu cầu, đã đọc tất cả các tiêu đề và được thiết lập để đọc tải trọng yêu cầu. Sau đó, nó gặp phải một sự kiện I/O có vẻ như dành cho cùng một tiêu đề.

Cách khắc phục

Tìm thông báo nhật ký để biết thêm thông tin về những gì đang xảy ra.

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

  • 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 gửi đi trong yêu cầu HTTP đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
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ả tiêu đề yêu cầu do ứng dụng khách gửi trong yêu cầu HTTP đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Quy cách HTTP:
RFC 6585, phần 5: 431 Trường tiêu đề của yêu cầu quá lớn
  • Giới hạn:
Giới hạn của Apigee Edge
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 đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
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 máy khách gửi trong phản hồi HTTP chứa một định dạng mã hoá/tải trọng không được Apigee Edge hỗ trợ.
  • Quy cách HTTP:
RFC 7231, phần 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ợ (do biến luồng target.url biểu thị) chứa một đường dẫn bắt đầu bằng dấu hỏi (?) thay vì dấu gạch chéo (/), tức là không hợp lệ.
  • Quy cách HTTP:

RFC 3986, phần 3: Thành phần cú pháp RFC 3986, phần 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ó bản sao trong Apigee Edge, xuất hiện nhiều lần với cùng một giá trị hoặc các giá trị khác nhau trong phản hồi HTTP do máy chủ phụ trợ gửi đến Apigee Edge.
  • Quy cách HTTP:
RFC 7230, phần 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 trong phản hồi HTTP đến Apigee Edge bị trống.
  • Quy cách HTTP:
RFC 7230, phần 3.2: Trường tiêu đề

Cách khắc phục

Đảm bảo rằng phản hồi HTTP do máy chủ phụ trợ gửi đến Apigee Edge luôn chứa tên tiêu đề hợp lệ theo RFC 7230, phần 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ợ (do biến luồng target.url biểu thị) chứa một đường dẫn trống.
  • Quy cách HTTP:

RFC 3986, phần 3: Thành phần cú pháp RFC 3986, phần 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 trong phản hồi HTTP đến Apigee Edge chứa các ký tự không phải ASCII.
  • Quy cách HTTP:

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

Cách 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 Apigee Edge không chứa các ký tự không phải ASCII trong tên tiêu đề theo RFC 7230, phần 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 trong phản hồi HTTP có chứa các ký tự không hợp lệ, chẳng hạn như dấu bằng (=), dấu phẩy (,), dấu chấm phẩy (;), dấu tab, CRLF và ký tự dòng mới.
  • Quy cách HTTP:

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

Cách 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 Apigee Edge không chứa bất kỳ ký tự không hợp lệ nào trong tên tiêu đề theo RFC 7230, phần 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ằng máy chủ proxy do tường lửa, ACL (Danh sách kiểm soát quyền truy cập), các vấn đề về DNS, khả năng cung cấp 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 chung 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 lại bằng mã trạng thái 306 cho Apigee Edge.

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

  • Quy cách HTTP:
RFC 7231, phần 6.3.5: 306 Reserved

Cách khắc phục

Vì mã trạng thái 306 được 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 đến 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ợ phản hồi bằng mã trạng thái 405 Method Not Allowed mà không có tiêu đề "Allow".
  • Quy cách HTTP:

RFC 7231, phần 6.5.5: 405 Method Not Allowed RFC 7231, phần 7.4.1: Allow

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 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, phần 6.3.5: 204 Không có nội dung RFC 7231, phần 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 gửi đi trong yêu cầu HTTP đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
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 do máy chủ phụ trợ gửi dưới dạng một phần của phản hồi HTTP đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
Giới hạn của Apigee Edge
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 đến Apigee Edge lớn hơn giới hạn cho phép trong Apigee Edge.
  • Giới hạn:
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 máy chủ phụ trợ gửi trong phản hồi HTTP chứa định dạng mã hoá/tải trọng không được Apigee Edge hỗ trợ.
  • Quy cách HTTP:
RFC 7231, phần 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 không tìm thấy KeyAlias cụ thể được tham chiếu trong TargetEndpoint hoặc TargetServer trong Keystore cụ thể.

Cách 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.

Cách 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, hãy đảm bảo rằng Truststore chứa các chứng chỉ hợp lệ của máy chủ phụ trợ.