وقتی درخواستهای API از طریق Apigee Edge ارسال میشوند، اجزای Apigee Edge یعنی روترها و پردازندههای پیام یا سرورهای backend میتوانند خطاها را به برنامههای کلاینت برگردانند.
خطاهای مربوط به پردازشگر پیام
پردازشگر پیام، جزء اصلی Apigee Edge است که سیاستها را پردازش کرده و با سرورهای backend تعامل دارد. در صورت تشخیص هرگونه مشکل مانند موارد زیر، میتواند خطاها را برگرداند:
مشکلات اتصال به شبکه، خرابیهای TLS handshake، عدم دسترسی به سرور backend، عدم پاسخگویی در حین ارتباط با سرور backend
خرابیها در حین اجرای سیاست
هدرهای HTTP نامعتبر، کدگذاری، مسیر، عدم رعایت مشخصات HTTP، تجاوز از محدودیتهای محصول و غیره:
با درخواست HTTP ارسال شده توسط برنامههای کلاینت
یا
با پاسخ HTTP ارسال شده توسط سرور backend
و بسیاری دیگر
نمونه خطا از پردازشگر پیام
پردازشگر پیام همیشه یک کد وضعیت HTTP و به دنبال آن یک پیام خطا به همراه یک کد خطا در قالب JSON را مطابق شکل زیر برمیگرداند:
برنامهی کلاینت یک کد پاسخ مانند مثال زیر دریافت میکند:
HTTP/1.1414Request-URI Too Long
پاسخ خطا از پردازشگر پیام در قالب زیر ظاهر میشود:
حاوی پیام خطایی است که علت احتمالی خطا را شرح میدهد
errorcode
کد خطا (که به آن کد خطا نیز گفته میشود) مرتبط با خطا
کاتالوگ خطاهای زمان اجرا
این کاتالوگ خطا تمام اطلاعات مورد نیاز شما در مورد کدهای خطای زمان اجرا (برای خطاهای غیرخطی) که توسط کامپوننت Apigee Edge Message Processor برگردانده میشوند را ارائه میدهد. این کاتالوگ شامل اطلاعات زیر برای هر یک از کدهای خطا است:
کد وضعیت HTTP
پیام خطا
علل احتمالی خطا
هرگونه مشخصات HTTP مرتبط و/یا محدودیتهای محصول
کتابچههای راهنما و ویدیوهایی که حاوی دستورالعملهایی برای تشخیص علت خطا و راهحلهای مؤثری هستند که میتوانید برای رفع خطا خودتان اعمال کنید (در صورت وجود)
اصلاحیهای که میتوانید برای رفع خطا خودتان اعمال کنید
از کادر جستجوی زیر برای فیلتر کردن جدول و نمایش اطلاعات فوق برای یک کد خطای خاص استفاده کنید. میتوانید کد وضعیت یا هر محتوایی را در هر فیلدی از جدول جستجو کنید.
search جستجو
کد خطا
توضیحات
رفع
flow.*
flow.APITimedOut
کد وضعیت HTTP:
504 Gateway Timeout
پیام خطا:
API timed out
علت احتمالی:
این خطا در صورتی رخ میدهد که:
سرور backend در مدت زمان timeout که توسط ویژگی api.timeout برای پروکسی API خاص تنظیم شده است، پاسخ نمیدهد.
یک سیاست به دلیل عملیات محاسباتی فشرده، بار زیاد یا عملکرد ضعیف، زمان زیادی میبرد.
نکته: این راهنما دستورالعملهایی برای عیبیابی کد خطای messaging.adaptors.http.flow.GatewayTimeout ارائه میدهد؛ با این حال، میتوانید از همین راهنما برای عیبیابی کد خطای flow.APITimedOut نیز استفاده کنید.
پیام خطا و قالب آن میتواند بسته به پیادهسازی سرور backend متفاوت باشد.
علت احتمالی:
این خطا زمانی رخ میدهد که سرور backend با کد وضعیت 504 به Apigee Edge پاسخ دهد.
توجه: کد خطای messaging.adaptors.http.flow.ErrorResponseCode به عنوان بخشی از پیام خطای ارسال شده به برنامههای کلاینت بازگردانده نمیشود. دلیل این امر این است که این کد خطا توسط Apigee Edge هر زمان که سرور backend با خطا و هر یک از کدهای وضعیت 4XX یا 5XX پاسخ میدهد، تنظیم میشود. میتوانید این کد خطا را در API Monitoring، گزارشهای دسترسی NGINX یا پایگاه داده تحلیلی مشاهده کنید.
messaging.adaptors.http.flow.GatewayTimeout
کد وضعیت HTTP:
504 Gateway Timeout
پیام خطا:
Gateway Timeout
علت احتمالی:
این خطا زمانی رخ میدهد که سرور backend در مدت زمان I/O timeout تنظیمشده در پردازنده پیام Apigee Edge به آن پاسخ ندهد.
این خطا زمانی رخ میدهد که هدر Content-Length توسط برنامهی کلاینت به عنوان بخشی از درخواستهای HTTP POST و PUT ارسالی به Apigee Edge ارسال نشود.
توجه: درخواستهایی که با این خطا مواجه میشوند را نمیتوان در ابزار Trace ثبت کرد، زیرا پردازشگر پیام این اعتبارسنجی را در مرحله بسیار اولیه، بسیار قبل از پردازش درخواست و اجرای هرگونه سیاست در API Proxy، انجام میدهد.
این خطا زمانی رخ میدهد که پردازشگر پیام Apigee Edge، درخواست payload را از برنامه کلاینت برای دوره زمانی I/O timeout پیکربندی شده در مولفه پردازشگر پیام دریافت نکند.
رفع
اطمینان حاصل کنید که برنامه کلاینت، درخواست را در بازه زمانی I/O timeout که در کامپوننت Message Processor مربوط به Apigee Edge پیکربندی شده است، ارسال میکند.
messaging.adaptors.http.flow.ServiceUnavailable
کد وضعیت HTTP:
503 Service Unavailable
پیام خطا:
The Service is temporarily unavailable
علت احتمالی:
این خطا تحت یکی از سناریوهای زیر رخ میدهد:
تفکیک نادرست DNS میزبان سرور backend توسط سرور احراز هویت سفارشی منجر به آدرسهای IP نامناسب و در نتیجه خطاهای اتصال شد.
خطاهای مربوط به وقفه زمانی اتصال به دلیل:
محدودیت فایروال روی سرور backend مانع از اتصال Apigee Edge به سرور backend میشود.
مشکلات اتصال شبکه بین Apigee Edge و سرور backend.
میزبان سرور هدف مشخص شده در Target Endpoint نادرست است یا دارای کاراکترهای ناخواسته (مانند فاصله) است.
این خطا همچنین میتواند رخ دهد اگر سرور backend اتصال را قبل از موعد مقرر ببندد در حالی که پردازنده پیام هنوز در حال ارسال بار داده درخواست به سرور backend است.
این خطا زمانی رخ میدهد که Apigee Edge نتواند درخواست را به هر یک از TargetEndpointها هدایت کند، زیرا:
هیچ شرط قانون مسیر ( <RouteRule> ) وجود ندارد که با درخواست در یک پروکسی مطابقت داشته باشد.
و
هیچ قانون مسیر پیشفرضی در ProxyEndpoint تعریف نشده است (یعنی <RouteRule> بدون هیچ شرطی)
رفع
برای رفع این خطا، دستورالعملهای زیر را دنبال کنید:
قوانین مسیر تعریف شده در ProxyEndpoint خود را بررسی کنید و آنها را اصلاح کنید تا مطمئن شوید حداقل یک شرط قانون مسیر وجود دارد که با درخواست شما مطابقت دارد.
وقتی چندین RouteRules دارید، بهتر است یک قانون مسیر پیشفرض بدون هیچ شرطی تعریف کنید.
مطمئن شوید که قانون مسیر پیشفرض همیشه در آخرین مرحله از لیست مسیرهای شرطی تعریف میشود، زیرا قوانین از بالا به پایین در ProxyEndpoint ارزیابی میشوند.
برای کسب اطلاعات بیشتر در مورد تعریف شرطهای <RouteRule> در یک ProxyEndpoint، به بخش اهداف شرطی مراجعه کنید.
messaging.runtime.SenseRaiseFault
کد وضعیت HTTP:
403 Forbidden
پیام خطا:
Sense Fault
علت احتمالی:
این خطا زمانی رخ میدهد که یک درخواست API از یک آدرس IP کلاینت خاص که به عنوان بخشی از قوانین Apigee Sense مسدود شده است، ارسال شود.
رفع
برای رفع این خطا، دستورالعملهای زیر را دنبال کنید:
اگر آدرس IP کلاینت خاص مسدود نشده است، اما همچنان این خطا را دریافت میکنید، با پشتیبانی Apigee Edge تماس بگیرید.
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
کد وضعیت HTTP:
500 Internal Server Error
پیام خطا:
Bad Form Data
علت احتمالی:
این خطا فقط و فقط در صورتی رخ میدهد که تمام شرایط زیر برقرار باشد:
درخواست HTTP ارسال شده توسط کلاینت به Apigee Edge شامل موارد زیر است:
Content-Type: application/x-www-form-urlencoded و
دادههای فرم با علامت درصد (%)، یا علامت درصد (%) و به دنبال آن کاراکترهای هگزادسیمال نامعتبر که طبق فرمها - بخش 17.13.4.1 مجاز نیستند.
پروکسی API در Apigee Edge پارامترهای فرم خاص حاوی هر کاراکتری را که با استفاده از ExtractVariables یا سیاست AssignMessage در جریان درخواست مجاز نیستند، میخواند.
این خطا زمانی رخ میدهد که یک هدر HTTP خاص که در Apigee Edge مجاز به داشتن تکرار نیست، بیش از یک بار با مقادیر یکسان یا متفاوت به عنوان بخشی از درخواست HTTP ارسالی توسط برنامه کلاینت به Apigee Edge ظاهر شود.
اطمینان حاصل کنید که درخواست HTTP ارسال شده توسط برنامه کلاینت به Apigee Edge همیشه حاوی یک نام هدر معتبر مطابق با RFC 7230، بخش 3.2: فیلدهای هدر است .
protocol.http.HeaderNameWithNonAsciiChar
کد وضعیت HTTP:
400 Bad Request
پیام خطا:
Header {header_name} contains non ascii character {character}
علت احتمالی:
این خطا زمانی رخ میدهد که نام هدر ارسالی به عنوان بخشی از درخواست HTTP توسط برنامه کلاینت به Apigee Edge حاوی کاراکترهای غیر ASCII باشد.
اطمینان حاصل کنید که درخواست HTTP ارسالی کلاینت به Apigee Edge شامل کاراکترهای غیر ASCII در نام هدرها مطابق با RFC 7230، بخش 3.2.6: اجزای مقدار فیلد نباشد.
protocol.http.HeaderWithInvalidChar
کد وضعیت HTTP:
400 Bad Request
پیام خطا:
Header {header_name} contains invalid character {character}
علت احتمالی:
این خطا زمانی رخ میدهد که نام هدر ارسال شده به عنوان بخشی از درخواست HTTP توسط برنامه کلاینت به Apigee Edge شامل کاراکترهای نامعتبر مانند مساوی (=)، کاما (,)، نقطه ویرگول (;)، تب، CRLF و کاراکتر خط جدید باشد.
اطمینان حاصل کنید که درخواست 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: Path مجاز نیستند.
اطمینان حاصل کنید که مسیر موجود در URL درخواست HTTP که توسط برنامه کلاینت به Apigee Edge ارسال میشود، حاوی هیچ کاراکتری نباشد که طبق RFC 3986، بخش 3.3: Path مجاز نیست.
protocol.http.MessageReadError
کد وضعیت HTTP:
502 Bad Gateway
پیام خطا:
Unexpected I/O after message headers have been read.
علت احتمالی:
این خطای نادر زمانی رخ میدهد که MP ورودی/خروجی را در کانالی دریافت میکند که انتظار آن را ندارد. MP در حال خواندن یک درخواست است، تمام هدرها را خوانده است و قرار است بار داده درخواست را بخواند. سپس با یک رویداد I/O مواجه میشود که به نظر میرسد برای همان هدرها باشد.
رفع
برای اطلاعات بیشتر در مورد آنچه اتفاق میافتد، پیام گزارش را پیدا کنید.
logger.atSevere().log(
"Unexpected I/O after message headers have been read. Channel diagnostics=%s."
+ " HeartBeat=%s",
input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
protocol.http.TooBigBody
کد وضعیت HTTP:
413 Request Entity Too Large
پیام خطا:
Body buffer overflow
علت احتمالی:
این خطا زمانی رخ میدهد که اندازهی بار دادهی ارسالی توسط برنامهی کلاینت به عنوان بخشی از درخواست HTTP به Apigee Edge بیشتر از حد مجاز در Apigee Edge باشد.
این خطا زمانی رخ میدهد که اندازه خط درخواست ارسالی توسط برنامه کلاینت به عنوان بخشی از درخواست HTTP به Apigee Edge بیشتر از حد مجاز در Apigee Edge باشد.
این خطا زمانی رخ میدهد که هدر Content-Encoding ارسال شده توسط کلاینت به عنوان بخشی از پاسخ HTTP حاوی فرمت کدگذاری/بار دادهای باشد که توسط Apigee Edge پشتیبانی نمیشود.
این خطا زمانی رخ میدهد که آدرس اینترنتی (URL) درخواستی سرور backend، که با متغیر جریان target.url نمایش داده میشود، حاوی مسیری باشد که به جای اسلش (/)، با علامت سوال (?) شروع میشود، که نامعتبر است.
این خطا زمانی رخ میدهد که هدر HTTP خاصی که در Apigee Edge مجاز به داشتن تکرار نیست، بیش از یک بار با مقادیر یکسان یا متفاوت به عنوان بخشی از پاسخ HTTP ارسالی توسط سرور backend به Apigee Edge ظاهر شود.
اطمینان حاصل کنید که پاسخ HTTP سرور backend که به Apigee Edge ارسال میشود، شامل کاراکترهای غیر ASCII در نام هدرها مطابق با RFC 7230، بخش 3.2.6: اجزای مقدار فیلد نباشد.
protocol.http.HeaderWithInvalidChar
کد وضعیت HTTP:
502 Bad Gateway
پیام خطا:
Header {header_name} contains invalid character {character}
علت احتمالی:
این خطا زمانی رخ میدهد که نام هدر ارسال شده توسط سرور backend به عنوان بخشی از پاسخ HTTP، شامل کاراکترهای نامعتبر مانند مساوی (=)، کاما (,)، نقطه ویرگول (;)، تب، CRLF و کاراکتر خط جدید باشد.
اطمینان حاصل کنید که پاسخ HTTP سرور backend که به 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 و سرور backend توسط سرور پروکسی به دلیل فایروال، ACL (لیست کنترل دسترسی)، مشکلات DNS، در دسترس بودن سرور backend و غیره رخ میدهد.
نکته:کد وضعیت موجود در پیام خطا ( faultstring ) علت سطح بالای مشکل را ارائه میدهد.
این خطا زمانی رخ میدهد که پاسخ HTTP از سرور backend به Apigee Edge یا 204 No Content یا 205 Reset Content باشد، اما شامل بدنه پاسخ و/یا یک یا چند مورد از هدرهای زیر باشد:
این خطا زمانی رخ میدهد که اندازهی بار دادهی ارسالی توسط برنامهی کلاینت به عنوان بخشی از درخواست HTTP به Apigee Edge بیشتر از حد مجاز در Apigee Edge باشد.
این خطا زمانی رخ میدهد که اندازه کل هدرهای پاسخ ارسالی توسط سرور backend به عنوان بخشی از پاسخ HTTP به Apigee Edge بیشتر از حد مجاز در Apigee Edge باشد.
این خطا زمانی رخ میدهد که هدر Content-Encoding ارسال شده توسط سرور backend به عنوان بخشی از پاسخ HTTP شامل فرمت encoding/payload باشد که توسط Apigee Edge پشتیبانی نمیشود.
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
علت احتمالی:
این خطا زمانی رخ میدهد که KeyAlias خاص ارجاع داده شده در TargetEndpoint یا TargetServer در Keystore خاص یافت نشود.
رفع
اطمینان حاصل کنید که KeyAlias مشخص شده در TargetEndpoint یا TargetServer وجود دارد و بخشی از Keystore خاص است.
security.util.TrustStoreWithNoCertificates
کد وضعیت HTTP:
500 Internal Server Error
پیام خطا:
TrustStore {truststore_name} has no certificates
علت احتمالی:
این خطا زمانی رخ میدهد که Truststore خاص ارجاع شده در TargetEndpoint یا TargetServer حاوی هیچ گواهینامهای نباشد.
رفع
اگر میخواهید گواهی سرور backend را اعتبارسنجی کنید و از Truststore در TargetEndpoint یا TargetServer استفاده کنید، مطمئن شوید که Truststore حاوی گواهیهای معتبر سرور backend است.
تاریخ آخرین بهروزرسانی 2026-08-27 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-08-27 بهوقت ساعت هماهنگ جهانی."],[],[]]