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

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

خطاها در Apigee Edge

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

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

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

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

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

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

پردازشگر پیام همیشه یک کد وضعیت 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
  • علت احتمالی:

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

  • سرور باطن در مدت زمانی که توسط ویژگی api.timeout برای پروکسی API خاص پیکربندی شده است، پاسخ نمی دهد.
  • یک خط مشی به دلیل عملیات محاسباتی فشرده، بار زیاد یا عملکرد ضعیف زمان زیادی می برد.

توجه: این کتاب راهنمای عیب‌یابی کد خطا messaging.adaptors.http.flow.GatewayTimeout را ارائه می‌دهد. با این حال، می توانید از همان playbook برای عیب یابی کد خطای flow.APITimedOut استفاده کنید.

PLAYBOOK

flow.SharedFlowNotFound

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیغام خطا:
Shared Flow {shared_flow_name} Not Found
  • علت احتمالی:

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

  • وجود ندارد
  • یا

  • وجود دارد اما مستقر نشده است
PLAYBOOK

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 را انجام دهید، روی یک یا چند پردازشگر پیام بارگیری نمی‌شود.
PLAYBOOK
این خطا همچنین می تواند در صورتی رخ دهد که چندین میزبان مجازی دارای نام مستعار میزبان و شماره پورت یکسان باشند. PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • کد وضعیت HTTP:
400 Bad Request
  • پیغام خطا:
Decompression failure at request
  • علت احتمالی:

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

  • رمزگذاری مشخص شده در هدر درخواست HTTP Content-Encoding معتبر است و توسط Apigee Edge پشتیبانی می‌شود .
  • اما

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

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیغام خطا:
Decompression failure at response
  • علت احتمالی:

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

  • رمزگذاری مشخص شده در هدر پاسخ HTTP سرور هدف، Content-Encoding معتبر است و توسط Apigee Edge پشتیبانی می‌شود .
  • اما

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

messaging.adaptors.http.flow.ErrorResponseCode

  • کد وضعیت HTTP:
500

PLAYBOOK

ویدئو

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

PLAYBOOK

ویدئو

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

messaging.adaptors.http.flow.LengthRequired

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

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

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

  • مشخصات HTTP:
RFC بخش 3.3.2: طول محتوا

رفع کنید

برای رفع این خطا مراحل زیر را انجام دهید:

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

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. حتی اگر یک بار خالی را با درخواست‌های POST و PUT ارسال می‌کنید، مطمئن شوید که هدر 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 میزبان سرور باطن توسط سرور مجوز سفارشی منجر به آدرس‌های IP بدی شد که منجر به خطاهای اتصال شد.
  2. خطاهای زمان اتصال به دلیل:
    1. محدودیت فایروال در سرور باطن مانع از اتصال Apigee Edge به سرور باطن می شود.
    2. مشکلات اتصال شبکه بین Apigee Edge و سرور باطن.
  3. میزبان مشخص شده در TargetServer نادرست است یا دارای کاراکترهای ناخواسته است (مانند فاصله).

PLAYBOOK

ویدئو

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

PLAYBOOK

ویدئو

messaging.adaptors.http.flow.RequestTimeOut

  • کد وضعیت HTTP:
408 Request Timeout
  • پیغام خطا:
Request timed out
  • علت احتمالی:
این خطا در صورتی رخ می‌دهد که پردازشگر پیام Apigee Edge بار درخواستی را از برنامه مشتری برای دوره وقفه ورودی/خروجی پیکربندی‌شده در مؤلفه پردازشگر پیام دریافت نکند.

رفع کنید

اطمینان حاصل کنید که برنامه سرویس گیرنده بار درخواست را در بازه زمانی I/O پیکربندی شده در مولفه پردازشگر پیام Apigee Edge ارسال می کند.

messaging.adaptors.http.flow.ServiceUnavailable

  • کد وضعیت HTTP:
503 Service Unavailable
  • پیغام خطا:
The Service is temporarily unavailable
  • علت احتمالی:

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

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

PLAYBOOK

خرابی DNS:

ویدئو

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

ویدئو

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

messaging.adaptors.http.flow.SslHandshakeFailed

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

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

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

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

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

PLAYBOOK

ویدئو

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

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

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

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

messaging.runtime.*

messaging.runtime.RouteFailed

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

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

  • هیچ شرطی برای قانون مسیر ( <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 در جریان درخواست مجاز نیست.
PLAYBOOK

protocol.http.DuplicateHeader

  • کد وضعیت HTTP:
400 Bad Request
  • پیغام خطا:
Duplicate Header "{header_name}"
  • علت احتمالی:
این خطا در صورتی رخ می دهد که یک هدر HTTP خاص که مجاز به داشتن موارد تکراری در Apigee Edge نیست، بیش از یک بار با مقادیر مشابه یا متفاوت به عنوان بخشی از درخواست HTTP ارسال شده توسط برنامه مشتری به Apigee Edge ظاهر شود.
  • مشخصات HTTP:
RFC 7230، بخش 3.2.2: ترتیب میدانی
PLAYBOOK

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 ارسال می‌شود، طبق RFC 7230، بخش 3.2.6: مؤلفه‌های مقدار فیلد، دارای نویسه‌های غیرASCII در نام‌های سرصفحه نباشد.

protocol.http.HeaderWithInvalidChar

  • کد وضعیت HTTP:
400 Bad Request
  • پیغام خطا:
Header {header_name} contains invalid character {character}
  • علت احتمالی:
اگر نام هدر ارسال شده به عنوان بخشی از درخواست HTTP توسط برنامه مشتری به Apigee Edge حاوی نویسه های نامعتبر مانند (=)، کاما (،)، نقطه ویرگول (;)، تب، CRLF و کاراکتر Newline باشد.
  • مشخصات 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.TooBigBody

  • کد وضعیت HTTP:
413 Request Entity Too Large
  • پیغام خطا:
Body buffer overflow
  • علت احتمالی:
این خطا در صورتی رخ می دهد که اندازه بار ارسال شده توسط برنامه مشتری به عنوان بخشی از درخواست HTTP به Apigee Edge از حد مجاز در Apigee Edge بیشتر باشد.
  • محدودیت ها:
Apigee Edge Limits
PLAYBOOK

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 درخواست فیلدهای سرصفحه خیلی بزرگ است
  • محدودیت ها:
Apigee Edge Limits
PLAYBOOK

protocol.http.TooBigLine

  • کد وضعیت HTTP:
414 Request-URI Too Long
  • پیغام خطا:
request line size exceeding {limit}
  • علت احتمالی:
این خطا در صورتی رخ می دهد که اندازه خط درخواست ارسال شده توسط برنامه مشتری به عنوان بخشی از درخواست HTTP به Apigee Edge از حد مجاز در Apigee Edge بیشتر باشد.
  • محدودیت ها:
Apigee Edge Limits
PLAYBOOK

protocol.http.UnsupportedEncoding

  • کد وضعیت HTTP:
415 Unsupported Media
  • پیغام خطا:
Unsupported Encoding "{encoding}"
  • علت احتمالی:
این خطا در صورتی رخ می دهد که هدر Content-Encoding ارسال شده توسط مشتری به عنوان بخشی از پاسخ HTTP حاوی فرمت رمزگذاری/بارگیری باشد که توسط Apigee Edge پشتیبانی نمی شود.
  • مشخصات HTTP:
RFC 7231، بخش 6.5.13: 415 نوع رسانه پشتیبانی نشده
PLAYBOOK

protocol.http.* - Caused by target

protocol.http.BadPath

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیغام خطا:
Invalid request path
  • علت احتمالی:
این خطا در صورتی رخ می دهد که URL درخواست سرور پشتیبان، که با متغیر جریان target.url نشان داده می شود، حاوی مسیری باشد که به جای اسلش رو به جلو (/) با علامت سوال (?) شروع می شود، که نامعتبر است.
  • مشخصات HTTP:

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

PLAYBOOK

protocol.http.DuplicateHeader

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیغام خطا:
Duplicate Header "{header_name}"
  • علت احتمالی:
این خطا در صورتی رخ می دهد که هدر HTTP خاصی که مجاز به داشتن موارد تکراری در Apigee Edge نیست، بیش از یک بار با مقادیر یکسان یا متفاوت به عنوان بخشی از پاسخ HTTP ارسال شده توسط سرور backend به Apigee Edge ظاهر شود.
  • مشخصات HTTP:
RFC 7230، بخش 3.2.2: ترتیب میدانی
PLAYBOOK

protocol.http.EmptyHeaderName

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

رفع کنید

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

protocol.http.EmptyPath

  • کد وضعیت HTTP:
500 Internal Server Error
  • پیغام خطا:
Request path cannot be empty
  • علت احتمالی:
این خطا در صورتی رخ می دهد که URL درخواست HTTP سرور باطن، که با متغیر جریان target.url نشان داده می شود، حاوی یک مسیر خالی باشد.
  • مشخصات HTTP:

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

PLAYBOOK

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 سرور باطن ارسال شده به Apigee Edge حاوی نویسه‌های غیرASCII در نام‌های سرصفحه طبق RFC 7230، بخش 3.2.6: Field Value Components نباشد.

protocol.http.HeaderWithInvalidChar

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیغام خطا:
Header {header_name} contains invalid character {character}
  • علت احتمالی:
این خطا در صورتی رخ می دهد که نام سرصفحه ارسال شده توسط سرور پشتیبان به عنوان بخشی از پاسخ HTTP، حاوی کاراکترهای نامعتبر مانند برابر (=)، کاما (،)، نقطه ویرگول (;)، تب، CRLF و کاراکتر Newline باشد.
  • مشخصات 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 و سرور باطن توسط سرور پروکسی به دلیل فایروال، ACL (لیست کنترل دسترسی)، مشکلات DNS، در دسترس بودن در دسترس بودن سرور بک اند و غیره رخ می دهد.

توجه: کد وضعیت موجود در پیام خطا ( faultstring ) دلیل سطح بالای مشکل را ارائه می دهد.

PLAYBOOK

protocol.http.Response306Reserved

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

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

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

  • مشخصات HTTP:
RFC 7231، بخش 6.3.5: 306 رزرو شده است

رفع کنید

از آنجایی که کد وضعیت 306 رزرو شده است، اطمینان حاصل کنید که سرور باطن شما از این کد وضعیت هنگام ارسال پاسخ به 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: مجاز

PLAYBOOK

protocol.http.ResponseWithBody

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیغام خطا:
Received {status_code} Response with message body
  • علت احتمالی:

این خطا در صورتی رخ می دهد که پاسخ HTTP از سرور باطن به 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 بازنشانی محتوا

PLAYBOOK

protocol.http.TooBigBody

  • کد وضعیت HTTP:
502 Bad Gateway
  • پیغام خطا:
Body buffer overflow
  • علت احتمالی:
این خطا در صورتی رخ می دهد که اندازه بار ارسال شده توسط برنامه مشتری به عنوان بخشی از درخواست HTTP به Apigee Edge از حد مجاز در Apigee Edge بیشتر باشد.
  • محدودیت ها:
Apigee Edge Limits
PLAYBOOK

protocol.http.TooBigHeaders

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

protocol.http.TooBigLine

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

protocol.http.UnsupportedEncoding

  • کد وضعیت HTTP:
415 Unsupported Media
  • پیغام خطا:
Unsupported Encoding "{encoding}"
  • علت احتمالی:
اگر هدر Content-Encoding ارسال شده توسط سرور پشتیبان به عنوان بخشی از پاسخ HTTP، حاوی قالب رمزگذاری/باری باشد که توسط Apigee Edge پشتیبانی نمی‌شود.
  • مشخصات HTTP:
RFC 7231، بخش 6.5.13: 415 نوع رسانه پشتیبانی نشده
PLAYBOOK

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 ارجاع داده شده است، حاوی هیچ گواهی نباشد.

رفع کنید

اگر می‌خواهید گواهی سرور باطن را تأیید کنید و می‌خواهید از Truststore در TargetEndpoint یا TargetServer استفاده کنید، مطمئن شوید که Truststore حاوی گواهی‌های معتبر سرور باطن است.