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.1414Request-URI Too Long
Phản hồi lỗi từ Trình xử lý thư sẽ xuất hiện ở định dạng sau:
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
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.
searchTìm kiếm
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.
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
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.
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 POST và PUT
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.
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:
Độ 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.
Lỗi hết thời gian kết nối do:
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ợ.
Vấn đề về kết nối mạng giữa Apigee Edge và
máy chủ phụ trợ.
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).
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
VÀ
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:
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.
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.
Đả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:
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:
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.
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.
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.
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.
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.
Đả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.
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.
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.
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ợ.
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ệ.
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.
Đả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.
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 đề.
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.
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:
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.
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.
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.
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ợ.
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ợ.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-04-10 UTC."],[],[]]