کاتالوگ خطای زمان اجرا

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

خطاها در Apigee Edge

وقتی درخواست‌های API از طریق Apigee Edge ارسال می‌شوند، اجزای Apigee Edge یعنی روترها و پردازنده‌های پیام یا سرورهای backend می‌توانند خطاها را به برنامه‌های کلاینت برگردانند.

خطاهای مربوط به پردازشگر پیام

پردازشگر پیام، جزء اصلی Apigee Edge است که سیاست‌ها را پردازش کرده و با سرورهای backend تعامل دارد. در صورت تشخیص هرگونه مشکل مانند موارد زیر، می‌تواند خطاها را برگرداند:

  • مشکلات اتصال به شبکه، خرابی‌های TLS handshake، عدم دسترسی به سرور backend، عدم پاسخگویی در حین ارتباط با سرور backend
  • خرابی‌ها در حین اجرای سیاست
  • هدرهای HTTP نامعتبر، کدگذاری، مسیر، عدم رعایت مشخصات HTTP، تجاوز از محدودیت‌های محصول و غیره:
    • با درخواست HTTP ارسال شده توسط برنامه‌های کلاینت
    • یا

    • با پاسخ HTTP ارسال شده توسط سرور backend
  • و بسیاری دیگر

نمونه خطا از پردازشگر پیام

پردازشگر پیام همیشه یک کد وضعیت 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 Message Processor برگردانده می‌شوند را ارائه می‌دهد. این کاتالوگ شامل اطلاعات زیر برای هر یک از کدهای خطا است:

  • کد وضعیت HTTP
  • پیام خطا
  • علل احتمالی خطا
  • هرگونه مشخصات HTTP مرتبط و/یا محدودیت‌های محصول
  • کتابچه‌های راهنما و ویدیوهایی که حاوی دستورالعمل‌هایی برای تشخیص علت خطا و راه‌حل‌های مؤثری هستند که می‌توانید برای رفع خطا خودتان اعمال کنید (در صورت وجود)
  • اصلاحیه‌ای که می‌توانید برای رفع خطا خودتان اعمال کنید

دسته‌های کد خطای زیر پوشش داده می‌شوند:

از کادر جستجوی زیر برای فیلتر کردن جدول و نمایش اطلاعات فوق برای یک کد خطای خاص استفاده کنید. می‌توانید کد وضعیت یا هر محتوایی را در هر فیلدی از جدول جستجو کنید.

کد خطا توضیحات رفع

flow.*

flow.APITimedOut

  • کد وضعیت HTTP:
504 Gateway Timeout
  • پیام خطا:
API timed out
  • علت احتمالی:

این خطا در صورتی رخ می‌دهد که:

  • سرور backend در مدت زمان timeout که توسط ویژگی 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 سرور backend/target به نام Content-Encoding معتبر است و توسط Apigee Edge پشتیبانی می‌شود .
  • اما

  • قالب بار داده ارسالی توسط سرور backend/target به عنوان بخشی از پاسخ HTTP با قالب کدگذاری مشخص شده در هدر Content-Encoding مطابقت ندارد.
کتاب راهنما

messaging.adaptors.http.flow.ErrorResponseCode

  • کد وضعیت HTTP:
500

کتاب راهنما

ویدئو

  • پیام خطا:
پیام خطا و قالب آن می‌تواند بسته به پیاده‌سازی سرور backend متفاوت باشد.
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرور backend با کد وضعیت 500 به Apigee Edge پاسخ دهد.
  • کد وضعیت HTTP:
503

کتاب راهنما

ویدئو

  • پیام خطا:
پیام خطا و قالب آن می‌تواند بسته به پیاده‌سازی سرور backend متفاوت باشد.
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که سرور backend با کد وضعیت 503 به Apigee Edge پاسخ دهد.
  • کد وضعیت HTTP:
504 کتاب راهنما
  • پیام خطا:
پیام خطا و قالب آن می‌تواند بسته به پیاده‌سازی سرور 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 به آن پاسخ ندهد.
کتاب راهنما

messaging.adaptors.http.flow.LengthRequired

  • کد وضعیت HTTP:
411 Length Required
  • پیام خطا:
'Content-Length' is missing
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که هدر Content-Length توسط برنامه‌ی کلاینت به عنوان بخشی از درخواست‌های HTTP POST و PUT ارسالی به Apigee Edge ارسال نشود.

توجه: درخواست‌هایی که با این خطا مواجه می‌شوند را نمی‌توان در ابزار Trace ثبت کرد، زیرا پردازشگر پیام این اعتبارسنجی را در مرحله بسیار اولیه، بسیار قبل از پردازش درخواست و اجرای هرگونه سیاست در API Proxy، انجام می‌دهد.

  • مشخصات HTTP:
بخش ۳.۳.۲ از 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 یک payload خالی ارسال می‌کنید، مطمئن شوید که هدر 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 میزبان سرور backend توسط سرور احراز هویت سفارشی منجر به آدرس‌های IP نامناسب و در نتیجه خطاهای اتصال شد.
  2. خطاهای مربوط به وقفه زمانی اتصال به دلیل:
    1. محدودیت فایروال روی سرور backend مانع از اتصال Apigee Edge به سرور backend می‌شود.
    2. مشکلات اتصال شبکه بین Apigee Edge و سرور backend.
  3. میزبان مشخص شده در TargetServer نادرست است یا دارای کاراکترهای ناخواسته (مانند فاصله) است.

کتاب راهنما

ویدئو

این خطا همچنین می‌تواند در صورت عدم موفقیت بررسی‌های سلامت پیکربندی‌شده برای نظارت بر بررسی سلامت سرورهای هدف رخ دهد.

کتاب راهنما

ویدئو

messaging.adaptors.http.flow.RequestTimeOut

  • کد وضعیت HTTP:
408 Request Timeout
  • پیام خطا:
Request timed out
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که پردازشگر پیام 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
  • علت احتمالی:

این خطا تحت یکی از سناریوهای زیر رخ می‌دهد:

  1. تفکیک نادرست DNS میزبان سرور backend توسط سرور احراز هویت سفارشی منجر به آدرس‌های IP نامناسب و در نتیجه خطاهای اتصال شد.
  2. خطاهای مربوط به وقفه زمانی اتصال به دلیل:
    1. محدودیت فایروال روی سرور backend مانع از اتصال Apigee Edge به سرور backend می‌شود.
    2. مشکلات اتصال شبکه بین Apigee Edge و سرور backend.
  3. میزبان سرور هدف مشخص شده در Target Endpoint نادرست است یا دارای کاراکترهای ناخواسته (مانند فاصله) است.

کتاب راهنما

خرابی DNS:

ویدئو

قابلیت اتصال به شبکه:

ویدئو

این خطا همچنین می‌تواند رخ دهد اگر سرور backend اتصال را قبل از موعد مقرر ببندد در حالی که پردازنده پیام هنوز در حال ارسال بار داده درخواست به سرور backend است. کتاب راهنما

messaging.adaptors.http.flow.SslHandshakeFailed

  • کد وضعیت HTTP:
503 Service Unavailable
  • پیام خطا:
SSL Handshake failed {error_message}
  • علت احتمالی:

این خطا در طول فرآیند SSL handshake بین پردازشگر پیام Apigee Edge و سرور backend رخ می‌دهد اگر:

  1. مرجع اعتماد پردازشگر پیام Apigee Edge:
    • حاوی زنجیره گواهی است که با کل زنجیره گواهی سرور backend مطابقت ندارد.
    • یا

    • شامل کل زنجیره گواهی سرور backend نمی‌شود.
  2. زنجیره گواهی ارائه شده توسط سرور backend:
    • شامل یک نام دامنه کاملاً واجد شرایط (FQDN) است که با نام میزبان مشخص شده در نقطه پایانی هدف مطابقت ندارد.
    • یا

    • حاوی یک زنجیره گواهی نادرست/ناقص است

کتاب راهنما

ویدئو

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Unexpected EOF at target
  • علت احتمالی:

این خطا تحت یکی از سناریوهای زیر رخ می‌دهد:

  1. TargetServer به درستی برای پشتیبانی از اتصالات TLS/SSL در Apigee Edge پیکربندی نشده است.
  2. ممکن است سرور backend به طور ناگهانی اتصال را ببندد، در حالی که Apigee Edge منتظر پاسخ از سرور backend است.
  3. وقفه‌های Keep alive در سرور Apigee و backend به طور نادرست پیکربندی شده‌اند.
کتاب راهنما

messaging.runtime.*

messaging.runtime.RouteFailed

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Unable to route the message to a TargetEndpoint
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که Apigee Edge نتواند درخواست را به هر یک از TargetEndpointها هدایت کند، زیرا:

  • هیچ شرط قانون مسیر ( <RouteRule> ) وجود ندارد که با درخواست در یک پروکسی مطابقت داشته باشد.
  • و

  • هیچ قانون مسیر پیش‌فرضی در ProxyEndpoint تعریف نشده است (یعنی <RouteRule> بدون هیچ شرطی)

رفع

برای رفع این خطا، دستورالعمل‌های زیر را دنبال کنید:

  1. قوانین مسیر تعریف شده در ProxyEndpoint خود را بررسی کنید و آنها را اصلاح کنید تا مطمئن شوید حداقل یک شرط قانون مسیر وجود دارد که با درخواست شما مطابقت دارد.
  2. وقتی چندین RouteRules دارید، بهتر است یک قانون مسیر پیش‌فرض بدون هیچ شرطی تعریف کنید.
  3. مطمئن شوید که قانون مسیر پیش‌فرض همیشه در آخرین مرحله از لیست مسیرهای شرطی تعریف می‌شود، زیرا قوانین از بالا به پایین در ProxyEndpoint ارزیابی می‌شوند.

برای کسب اطلاعات بیشتر در مورد تعریف شرط‌های <RouteRule> در یک ProxyEndpoint، به بخش اهداف شرطی مراجعه کنید.

messaging.runtime.SenseRaiseFault

  • کد وضعیت HTTP:
403 Forbidden
  • پیام خطا:
Sense Fault
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که یک درخواست API از یک آدرس IP کلاینت خاص که به عنوان بخشی از قوانین Apigee Sense مسدود شده است، ارسال شود.

رفع

برای رفع این خطا، دستورالعمل‌های زیر را دنبال کنید:

  1. با بررسی قوانین پیکربندی‌شده در Apigee Sense، تأیید کنید که آدرس IP کلاینت خاص را مسدود کرده‌اید. اگر مسدود شده باشد، نشان می‌دهد که طبق طراحی کار می‌کند.
  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
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام هدر ارسالی به عنوان بخشی از درخواست HTTP توسط برنامه‌ی کلاینت به Apigee Edge خالی باشد.
  • مشخصات 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}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام هدر ارسالی به عنوان بخشی از درخواست 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:
400 Bad Request
  • پیام خطا:
Header {header_name} contains invalid character {character}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام هدر ارسال شده به عنوان بخشی از درخواست HTTP توسط برنامه کلاینت به Apigee Edge شامل کاراکترهای نامعتبر مانند مساوی (=)، کاما (,)، نقطه ویرگول (;)، تب، 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: Path مجاز نیستند.
  • مشخصات HTTP:

RFC 3986، بخش 3: اجزای نحوی و RFC 3986، بخش 3.3: مسیر

رفع

اطمینان حاصل کنید که مسیر موجود در 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 باشد.
  • محدودیت‌ها:
محدودیت‌های لبه آپیجی
کتاب راهنما

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 فیلدهای سربرگ درخواست خیلی بزرگ هستند
  • محدودیت‌ها:
محدودیت‌های لبه آپیجی
کتاب راهنما

protocol.http.TooBigLine

  • کد وضعیت HTTP:
414 Request-URI Too Long
  • پیام خطا:
request line size exceeding {limit}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه خط درخواست ارسالی توسط برنامه کلاینت به عنوان بخشی از درخواست HTTP به 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) درخواستی سرور backend، که با متغیر جریان 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 ارسالی توسط سرور backend به Apigee Edge ظاهر شود.
  • مشخصات HTTP:
RFC 7230، بخش 3.2.2: ترتیب فیلد
کتاب راهنما

protocol.http.EmptyHeaderName

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Header name cannot be empty
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام هدر ارسال شده توسط سرور backend به عنوان بخشی از پاسخ HTTP به Apigee Edge خالی باشد.
  • مشخصات HTTP:
RFC 7230، بخش 3.2: فیلدهای سرآیند

رفع

اطمینان حاصل کنید که پاسخ HTTP ارسال شده توسط سرور backend به Apigee Edge همیشه حاوی یک نام هدر معتبر مطابق با RFC 7230، بخش 3.2: فیلدهای هدر است .

protocol.http.EmptyPath

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیام خطا:
Request path cannot be empty
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که آدرس اینترنتی درخواست HTTP سرور backend، که با متغیر جریان 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}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که نام هدر ارسال شده توسط سرور backend به عنوان بخشی از پاسخ HTTP به Apigee Edge حاوی کاراکترهای غیر ASCII باشد.
  • مشخصات HTTP:

RFC 7230، بخش 3.2: فیلدهای سرآیند و RFC 7230، بخش 3.2.6: اجزای مقدار فیلد

رفع

اطمینان حاصل کنید که پاسخ 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:

RFC 7230، بخش 3.2: فیلدهای سرآیند و RFC 7230، بخش 3.2.6: اجزای مقدار فیلد

رفع

اطمینان حاصل کنید که پاسخ 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 ) علت سطح بالای مشکل را ارائه می‌دهد.

کتاب راهنما

protocol.http.Response306Reserved

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Response Status code 306 is reserved, so can't be used.
  • علت احتمالی:

این خطا زمانی رخ می‌دهد که سرور backend با کد وضعیت 306 به Apigee Edge پاسخ دهد.

کد وضعیت 306 در نسخه قبلی مشخصات HTTP تعریف شده بود. طبق مشخصات فعلی HTTP، این کد رزرو شده است و نباید استفاده شود.

  • مشخصات HTTP:
RFC 7231، بخش 6.3.5: 306 محفوظ است

رفع

از آنجایی که کد وضعیت 306 رزرو شده است، مطمئن شوید که سرور backend شما هنگام ارسال پاسخ به Apigee Edge از این کد وضعیت استفاده نمی‌کند.

protocol.http.Response405WithoutAllowHeader

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
Received 405 Response without Allow Header
  • علت احتمالی:
سرور backend با کد وضعیت 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 از سرور backend به 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 باشد.
  • محدودیت‌ها:
محدودیت‌های لبه آپیجی
کتاب راهنما

protocol.http.TooBigHeaders

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
response headers size exceeding {limit}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه کل هدرهای پاسخ ارسالی توسط سرور backend به عنوان بخشی از پاسخ HTTP به Apigee Edge بیشتر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های لبه آپیجی
کتاب راهنما

protocol.http.TooBigLine

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیام خطا:
response line size exceeding {limit}
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که اندازه خط پاسخ ارسالی توسط سرور backend به عنوان بخشی از پاسخ HTTP به Apigee Edge بیشتر از حد مجاز در Apigee Edge باشد.
  • محدودیت‌ها:
محدودیت‌های لبه آپیجی
کتاب راهنما

protocol.http.UnsupportedEncoding

  • کد وضعیت HTTP:
415 Unsupported Media
  • پیام خطا:
Unsupported Encoding "{encoding}"
  • علت احتمالی:
این خطا زمانی رخ می‌دهد که هدر Content-Encoding ارسال شده توسط سرور backend به عنوان بخشی از پاسخ HTTP شامل فرمت encoding/payload باشد که توسط 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 در 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 است.