درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
این موضوع خطاهای احتمالی و هشدارهایی را که ممکن است در Edge Microgateway با آنها مواجه شوید شرح میدهد.
خطاهای عمومی برنامه
HTTP 500، در مدیریتکننده خطا ناموفق بود - اکثر خطاها این شماره را خواهند داشت، همانطور که برخی خطاهای برگشتی از هدفها خواهند داشت. بهطور خاص، از errors-middleware.js در سراسر واحد microgateway-core استفاده میشود. وقتی از آن استفاده میشود، وضعیتکدها را بااستفاده از Edge Microgateway
logger object: logger.error(err, 'failed in error handler');در گزارشگیری مینویسد. برای کدهای دریافتی از هدفهای بین ۱۰۰ تا ۳۰۰، خطاهای میانافزار.js کد وضعیت را به ۵۰۰ بازنویسی میکند تا به مشتری برگردانده شود.HTTP 404 - ممکن است این وضعیت را بهعنوان ردیابی پشتهای با پیام زیر مشاهده کنید:
no match found for [API_path_name].
خطاها و هشدارهای واحد
میتوانید از این اطلاعات برای پیکربندی هشدارهایی استفاده کنید که به شما کمک میکند استقرار Edge Microgateway را پایش و مدیریت کنید.
عبارتهای زیر که در مرجع خطا در بخش «گرداننده» نشان داده میشود، نشان میدهد که چگونه خطاهای مختلف در Edge Microgateway گردانده میشوند.
- ادعا: معمولاً وقتی ارزیابی ادعا ناموفق باشد، Edge Microgateway متوقف میشود. بااینحال، این همیشه درست نیست، زیرا «ادعاها» استثناهایی را ایجاد میکنند که ممکن است گرفته شوند.
- پرتاب میکند: احتمال توقف سیستم.
- callback (بازخوانی): خطا به یک بازخوانی منتقل میشود و سیستم ممکن است ادامه دهد.
| نوع | پیام | رسیدگیکننده | یادداشتها |
|---|---|---|---|
واحد microgateway |
|||
| خطا | org الزامی است | اعلام کردن | assert(options.org,"org is required"); |
| خطا | env الزامی است | اعلام کردن | assert(options.env,"env is required") |
| خطا | نام کاربری الزامی است | اعلام کردن | assert(options.username || options.token,"username is required"); |
| خطا | گذرواژه الزامی است | اعلام کردن | assert(options.password || options.token,"password is required") |
| خطا | org الزامی است | اعلام کردن | assert(options.org,"org is required"); |
| خطا | env الزامی است | اعلام کردن | assert(options.env,"env is required") |
| خطا | نام کاربری الزامی است | اعلام کردن | assert(options.username || options.token,"username is required"); |
| خطا | گذرواژه الزامی است | اعلام کردن | assert(options.password || options.token,"password is required") |
| خطا | org الزامی است | اعلام کردن | assert(options.org,"org is required"); |
| خطا | env الزامی است | اعلام کردن | assert(options.env,"env is required") |
| خطا | org الزامی است | اعلام کردن | assert(options.org,"org is required"); |
| خطا | env الزامی است | اعلام کردن | assert(options.env,"env is required") |
| خطا | نام کاربری الزامی است | اعلام کردن | assert(options.username, 'username is required'); |
| خطا | گذرواژه الزامی است | اعلام کردن | assert(options.password, 'password is required'); |
| خطا | org الزامی است | اعلام کردن | assert(options.org, 'org is required'); |
| خطا | env الزامی است | اعلام کردن | assert(options.env, 'env is required'); |
| خطا | باید فایل هدف اختصاصی داشته باشد | اعلام کردن | assert(targetFile, 'must have an assigned target file') |
| خطا | باید کلید داشته باشد | اعلام کردن | assert(key, 'must have a key'); |
| خطا | باید رمز داشته باشد | اعلام کردن | assert(secret, 'must have a secret'); |
| خطا | dir باید پیکربندی شود | اعلام کردن | assert(dir, 'dir must be configured') |
| خطا | بازخوانی باید وجود داشته باشد | اعلام کردن | assert(callback, 'callback must be present') |
| خطا | نام کاربری الزامی است | اعلام کردن | assert(options.username, 'username is required'); |
| خطا | گذرواژه الزامی است | اعلام کردن | assert(options.password, 'password is required'); |
| خطا | org الزامی است | اعلام کردن | assert(options.org, 'org is required'); |
| خطا | env الزامی است | اعلام کردن | assert(options.env, 'env is required'); |
| خطا | runtimeUrl الزامی است | اعلام کردن | assert(options.runtimeUrl, 'runtimeUrl is required'); |
| خطا | mgmtUrl الزامی است | اعلام کردن | assert(options.mgmtUrl, 'mgmtUrl is required'); |
| خطا | فایل الزامی است | اعلام کردن | assert(options.file,"file is required") |
| خطا | باید هدف داشته باشد | اعلام کردن | assert(options.target, 'must have target'); |
| خطا | افزایهها پیکربندی نشده است | اعلام کردن | assert(config.edgemicro.plugins, 'plugins not configured'); |
| خطا | دایرکتوری افزایه وجود ندارد: + pluginDir | اعلام کردن | assert(fs.existsSync(pluginDir), 'plugin dir does not exist: ' + pluginDir); |
| خطا | دایرکتوری افزایه دایرکتوری نیست: + pluginDir | اعلام کردن | assert(stat.isDirectory(), 'plugin dir is not a directory: ' + pluginDir); |
| خطا | خطا در خواندن دایرکتوری افزایه: + pluginDir | اعلام کردن | assert(dirs, 'error reading plugin dir: ' + pluginDir); |
| خطا | باید کد داشته باشد | اعلام کردن | assert(token, 'must have a token'); |
| خطا | configpath نمیتواند خالی باشد | اعلام کردن | assert(config, 'configpath can't be empty'); |
| خطا | باید EDGEMICRO_KEY داشته باشد | اعلام کردن | assert(key, 'must have EDGEMICRO_KEY'); |
| خطا | باید EDGEMICRO_SECRET داشته باشد | اعلام کردن | assert(secret, 'must have EDGEMICRO_SECRET'); |
| خطا | پیکربندی وجود ندارد | پرتاب میکند | مرتبط با فایل yaml |
| خطا | بهنظر میرسد edgemicro ازقبل درحال اجرا است. | console.error | درحال تلاش برای رونویسی فایل sock. |
| خطا | تغییر در «پیکربندی» بررسی نشد. بعداز این مدت دوباره امتحان خواهد شد | console.error | مشکل در ارتباط لبه |
| خطا | اگر سرور اجرا نمیشود، ممکن است بهدلیل خاموش کردن نادرست شروع قبلی باشد. | console.error | |
| خطا | %s وجود ندارد، لطفاً اجرا کنید | console.error | (.*) وجود ندارد، لطفاً اجرا کنید |
| خطا | بار کردن مجدد edgemicro ناموفق بود | console.error | سطح فرمان |
| خطا | edgemicro متوقف نشد | console.error | سطح فرمان |
| خطا | «Try removing ' + ipcPath + ' and start again' | console.error | |
| خطا | «پیکربندی حافظه نهان» + حافظه نهان + «وجود ندارد. درحال خروج.» | console.error | |
| خطا | فایل پیکربندی نوشته نشد: | console.error | پیکربندی ناموفق خواهد بود |
| خطا | فایل پیکربندی بارگیری نشد: | console.error | پیکربندی ناموفق خواهد بود |
| خطا | edge micro شروع نشد | console.error | نباید درحال اجرا باشد |
| خطا | edgemicro اجرا نمیشود. | console.error | بررسی کنید که فرایند در فهرست نباشد |
| خطا | env الزامی است | console.error | متغیرهای محیط برای اجرا الزامی است |
| خطا | خطا - ویرایش apiproxy Callout.xml | console.error | دسترسی به فایل |
| خطا | خطا - ویرایش apiproxy default.xml | console.error | دسترسی به فایل |
| خطا | خطا در بررسی گواهینامه. درحال نصب گواهینامه جدید. | console.error | نمیتوان از کلید عمومی استفاده کرد |
| خطا | خطا در بازیابی منطقه برای سازمان | console.error | key-gen.js، cert-lib.js، و private.js |
| خطا | خطا در بارگذاری اطلاعات اعتباری | console.error | کلید عمومی با Edge همگامسازی نشد |
| خطا | ناموفق | console.error | key-gen.js |
| خطا | فایل configpath %s مقداردهی اولیه نشد | console.error | پیکربندی بار نمیشود |
| خطا | پاسخ نامعتبر از api منطقه | console.error | key-gen.js، cert-lib.js، و private.js |
| خطا | کلید الزامی است | console.error | پارامتر |
| خطا | org الزامی است | console.error | پارامتر |
| خطا | درگاه دردسترس نیست. | console.error | پارامتر |
| خطا | رمز الزامی است | console.error | پارامتر |
| خطا | پروتکل نشانی وب پشتیبانی نمیشود: | console.error | اطلاعات پیکربندی نشان میدهد که پروتکل اینترنت در محدوده Edge Microgateway نیست |
| خطا | درستیسنجی مورد منفی تجزیهوتحلیل: ناموفق | console.error | احتمال خرابی/شکست |
| خطا | درحال درستیسنجی Analytics با دادهبر: ناموفق | console.error | احتمال خرابی/شکست |
| خطا | درستیسنجی دردسترس بودن نشانی وب راهاندازی اولیه:ناموفق | console.error | احتمال خرابی/شکست |
| خطا | درحال درستیسنجی دردسترس بودن jwt_public_key: ناموفق | console.error | احتمال خرابی/شکست |
| خطا | درحال درستیسنجی دردسترس بودن محصولات: ناموفق | console.error | احتمال خرابی/شکست |
| خطا | درحال درستیسنجی سهمیه با محصولات پیکربندیشده: ناموفق | console.error | خرابی/شکست احتمالی |
| هشدار دادن | پیکربندی از درگاه بازیابی نشد. ادامه میدهیم، نسخه ذخیرهشده در حافظه نهان را امتحان میکنیم.. | console.error | |
| هشدار دادن | KVM ازقبل در سازمانتان وجود دارد | console.log | |
| هشدار دادن | قبلاً مستقر شده است | console.log | |
| هشدار دادن | افزایه ترتیبدار پیدا نشد: | console.warn | |
| هشدار دادن | pluginDir %s وجود ندارد | console.log | pluginDir (.*) وجود ندارد |
واحد microgateway-core |
|||
| خطا | پیکربندی راهاندازی نشده است | اعلام کردن | assert(config, 'config not initialized') |
| خطا | باید پیکربندی داشته باشد | اعلام کردن | assert(config, ' باید پیکربندی داشته باشد') |
| خطا | باید پیکربندی داشته باشد | اعلام کردن | assert(config, 'must have config') |
| خطا | پیکربندی باید شناسه کاربری داشته باشد | اعلام کردن | assert(config.uid, 'config must have uid'); |
| خطا | باید config.edgemicro.logging را در پیکربندی داشته باشد | اعلام کردن | assert(logConfig, 'must have config.edgemicro.logging in config'); |
| خطا | باید روش درخواست داشته باشد | اعلام کردن | assert(httpLibrary.request, 'must have request method'); |
| خطا | افزایه باید در حافظه بار شده باشد | اعلام کردن | assert(options.plugin, "must have plugin loaded in memory"); |
| خطا | init باید تابع باشد | اعلام کردن | assert(_.isFunction(options.plugin.init), 'init must be a function'); |
| خطا | باید نام افزایه داشته باشد | اعلام کردن | assert(options.pluginName, "must have plugin name"); |
| خطا | نادیده گرفتن نام و مدیریتکنندههای افزایه نامعتبر | اعلام کردن | assert(_.isObject(middleware), 'ignoring invalid plugin handlers ' + name); |
| خطا | گزینهها باید حاوی پیکربندی باشد | اعلام کردن | assert(config, 'options must contain config') |
| خطا | افزایه باید نام داشته باشد | اعلام کردن | assert(name,"plugin must have a name") |
| خطا | نام باید رشته باشد | اعلام کردن | assert(_.isString(name),"name must be a string"); |
| خطا | افزایه باید تابع باشد | اعلام کردن | assert(_.isFunction(plugin),"plugin must be a function(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); |
| خطا | باید کلید داشته باشد | اعلام کردن | assert(key, 'must have a key'); |
| خطا | باید رمز داشته باشد | اعلام کردن | assert(secret, 'must have a secret'); |
| خطا | باید فهرست پیکربندی منبع داشته باشد | اعلام کردن | assert(source, 'must have a source config directory'); |
| خطا | خطا در بار کردن افزایه | console.error | افزایه بار نشد |
| خطا | در مدیریتکننده خطا ناموفق بود | بازخوانی | تابع HTTP server.on() |
| خطا | طول سرایند بیشتر از اندازه مجاز است | خطای اچتیتیپی | افزایه اجرا نمیشود |
| خطا | پاسخ قبلاز انجام کار تمام شد | logger.error | افزایه هدف اجرا نمیشود |
| خطا | رسیدگیکننده استثنا قائل شد | بازخوانی | خطای ضبط از افزایه (catch) |
| خطا | خطا در شروع میکرو لبه | بازخوانی | Edge Microgateway شروع نمیشود |
| خطا | افزایه باید تابع باشد | پرتاب میکند | |
| هشدار دادن | console.error | هشدار میدهد | نوشتن گزارش |
| هشدار دادن | خطای targetRequest | فراخوانی مدیریت خطای هدف | خطای کارخواه HTTP در ارتباط با هدف |
| هشدار دادن | خطای targetResponse | فراخوانی مدیریت خطای هدف | خطای سرور هدف HTTP در ارتباط با هدف همانگونه که در کارخواه دیده میشود |
واحد microgateway-config |
|||
| خطا | allow_message | اعلام کردن | assert(+config.quota.allow > 0, allow_message); |
| خطا | پیکربندی وجود ندارد | پرتاب میکند | فایل پیکربندی yaml |
| خطا | پیکربندی خالی است | پرتاب میکند | فایل پیکربندی yaml |
| خطا | پیکربندی فایل نیست | پرتاب میکند | فایل پیکربندی yaml |
| خطا | پیکربندی تعریف نشده است | اعلام کردن | assert(config, 'config is not defined'); |
| خطا | config.analytics.batchSize نامعتبر است | اعلام کردن | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize is invalid'); |
| خطا | config.analytics.batchSize عدد نیست | اعلام کردن | assert(typeof config.analytics.batchSize === 'number', 'config.analytics.batchSize is not a number'); |
| خطا | config.analytics.bufferSize نامعتبر است | اعلام کردن | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize is invalid'); |
| خطا | config.analytics.bufferSize عدد نیست | اعلام کردن | assert(typeof config.analytics.bufferSize === 'number', 'config.analytics.bufferSize is not a number'); |
| خطا | config.analytics.flushInterval نامعتبر است | اعلام کردن | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval is invalid'); |
| خطا | config.analytics.flushInterval عدد نیست | اعلام کردن | assert(typeof config.analytics.flushInterval === 'number', 'config.analytics.flushInterval is not a number'); |
| خطا | config.analytics.proxy روی «ساختگی» تنظیم نشده است | اعلام کردن | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy is not "dummy"'); |
| خطا | config.analytics.proxy تعریف نشده است | اعلام کردن | assert(config.analytics.proxy, 'config.analytics.proxy is not defined'); |
| خطا | config.analytics.proxy_revision عدد نیست | اعلام کردن | assert(typeof config.analytics.proxy_revision === 'number', 'config.analytics.proxy_revision is not a number'); |
| خطا | config.analytics.proxy_revision تعریف نشده است | اعلام کردن | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision is not defined'); |
| خطا | config.analytics.source «microgateway» نیست | اعلام کردن | assert(config.analytics.source === 'microgateway', 'config.analytics.source is not "microgateway"'); |
| خطا | config.analytics.source تعریف نشده است | اعلام کردن | assert(config.analytics.source, 'config.analytics.source is not defined'); |
| خطا | config.analytics.uri رشته نیست | اعلام کردن | assert(typeof config.analytics.uri === 'string', 'config.analytics.uri is not a string'); |
| خطا | config.analytics.uri تعریف نشده است | اعلام کردن | assert(config.analytics.uri, 'config.analytics.uri is not defined'); |
| خطا | config.apikeys.public_key تعریف نشده است | اعلام کردن | assert(typeof config.apikeys.public_key === 'string', 'config.apikeys.public_key is not defined'); |
| خطا | config.edge_config تعریف نشده است | اعلام کردن | assert(config.edge_config, 'config.edge_config is not defined'); |
| خطا | config.edge_config.bootstrap تعریف نشده است | اعلام کردن | assert(config.edge_config.bootstrap, 'config.edge_config.bootstrap is not defined'); |
| خطا | config.edge_config.jwt_public_key تعریف نشده است | اعلام کردن | assert(config.edge_config.jwt_public_key, 'config.edge_config.jwt_public_key is not defined'); |
| خطا | اگر config.edge_config.proxy_tunnel تعریف شده باشد، config.edge_config.proxy باید تعریف شود | اعلام کردن | assert(typeof config.edge_config.proxy !== 'undefined', 'config.edge_config.proxy باید تعریف شود اگر config.edge_config.proxy_tunnel تعریف شده باشد'); |
| خطا | config.edge_config.proxy_tunnel بولی نیست | اعلام کردن | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel is not a boolean'); |
| خطا | config.edge_config.refresh_interval عدد نیست | اعلام کردن | assert(typeof config.edge_config.refresh_interval === 'number', 'config.edge_config.refresh_interval is not a number'); |
| خطا | config.edge_config.refresh_interval خیلی کوچک است (حداقل ۱ ساعت) | اعلام کردن | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval is too small (min 1h)'); |
| خطا | config.edge_config.retry_interval عدد نیست | اعلام کردن | assert(typeof config.edge_config.retry_interval === 'number', 'config.edge_config.retry_interval is not a number'); |
| خطا | config.edge_config.retry_interval خیلی کوچک است (حداقل ۵ ثانیه) | اعلام کردن | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval is too small (min 5s)'); |
| خطا | config.edgemicro تعریف نشده است | اعلام کردن | assert(config.edgemicro, 'config.edgemicro is not defined'); |
| خطا | config.edgemicro.logging تعریف نشده است | اعلام کردن | assert(config.edgemicro.logging, 'config.edgemicro.logging is not defined'); |
| خطا | config.edgemicro.logging.dir تعریف نشده است | اعلام کردن | if (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir is not defined'); |
| خطا | config.edgemicro.logging.level تعریف نشده است | اعلام کردن | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level is not defined'); |
| خطا | config.edgemicro.max_connections عدد نیست | اعلام کردن | assert(typeof config.edgemicro.max_connections === 'number', 'config.edgemicro.max_connections is not a number'); |
| خطا | config.edgemicro.max_connections تعریف نشده است | اعلام کردن | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections is not defined'); |
| خطا | config.edgemicro.plugins.sequence آرایه نیست | اعلام کردن | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence is not an array'); |
| خطا | config.edgemicro.port تعریف نشده است | اعلام کردن | assert(config.edgemicro.port, 'config.edgemicro.port is not defined'); |
| خطا | config.oauth.allowInvalidAuthorization تعریف نشده است | اعلام کردن | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization is not defined'); |
| خطا | config.oauth.allowNoAuthorization تعریف نشده است | اعلام کردن | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization is not defined'); |
| خطا | config.oauth.public_key تعریف نشده است | اعلام کردن | assert(typeof config.oauth.public_key === 'string', 'config.oauth.public_key is not defined'); |
| خطا | config.oauthv2.public_key تعریف نشده است | اعلام کردن | assert(typeof config.oauthv2.public_key === 'string', 'config.oauthv2.public_key is not defined'); |
| خطا | config.proxies تعریف نشده است | اعلام کردن | assert(config.proxies, 'config.proxies is not defined'); |
| خطا | config.proxy[ + index + ].base_path تعریف نشده است | اعلام کردن | assert(proxy.base_path, 'config.proxy[' + index + '].base_path is not defined'); |
| خطا | config.proxy[ + index + ].max_connections عدد نیست | اعلام کردن | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections is not a number'); |
| خطا | config.proxy[ + index + ].max_connections تعریف نشده است | اعلام کردن | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections is not defined'); |
| خطا | config.proxy[ + index + ].name تعریف نشده است | اعلام کردن | assert(proxy.name, 'config.proxy[' + index + '].name is not defined'); |
| خطا | config.proxy[ + index + ].proxy_name تعریف نشده است | اعلام کردن | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name is not defined'); |
| خطا | config.proxy[ + index + ].revision تعریف نشده است | اعلام کردن | assert(proxy.revision, 'config.proxy[' + index + '].revision is not defined'); |
| خطا | config.proxy[ + index + ].url تعریف نشده است | اعلام کردن | assert(proxy.url, 'config.proxy[' + index + '].url is not defined'); |
| خطا | config.quota.allow عدد نیست | اعلام کردن | assert(typeof config.quota.allow === 'number', 'config.quota.allow is not a number'); |
| خطا | config.quota.allow تعریف نشده است | اعلام کردن | assert(config.quota.allow, 'config.quota.allow is not defined'); |
| خطا | config.quota.interval عدد نیست | اعلام کردن | assert(typeof config.quota.interval === 'number', 'config.quota.interval is not a number'); |
| خطا | config.quota.interval تعریف نشده است | اعلام کردن | assert(config.quota.interval, 'config.quota.interval is not defined'); |
| خطا | config.spikearrest تعریف نشده است | اعلام کردن | assert(config.spikearrest, 'config.spikearrest is not defined'); |
| خطا | config.spikearrest.allow نامعتبر است | اعلام کردن | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow is invalid'); |
| خطا | config.spikearrest.allow عدد نیست | اعلام کردن | assert(typeof config.spikearrest.allow === 'number', 'config.spikearrest.allow is not a number'); |
| خطا | config.spikearrest.allow تعریف نشده است | اعلام کردن | assert(config.spikearrest.allow, 'config.spikearrest.allow تعریف نشده است'); |
| خطا | config.spikearrest.bufferSize نامعتبر است | اعلام کردن | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize is invalid'); |
| خطا | config.spikearrest.bufferSize عدد نیست | اعلام کردن | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize is not a number'); |
| خطا | config.spikearrest.timeUnit تعریف نشده است | اعلام کردن | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit is not defined'); |
| خطا | خطای بحرانی: خطا در تجزیه فهرست محصولات بارگیریشده | بازخوانی | |
| خطا | خطای بحرانی: خطا در تجزیه فهرست پراکسی بارگیریشده | بازخوانی | |
| خطا | خطای پیکربندی نادرست محصول شناسایی شد | console.error | بهدنبال آن console.warn('using old cached configuration'); |
| خطا | خطا در خواندن پیکربندی از | پرتاب میکند | فایل پیکربندی yaml |
| خطا | خطا در ذخیره کردن پیکربندی در | بازخوانی | فایل پیکربندی yaml |
| خطا | خطای مهلک: پیکربندی ذخیرهشده دردسترس نیست، ادامه امکانپذیر نیست | بازخوانی | |
| خطا | interval_message | اعلام کردن | assert(+config.quota.interval > 0, interval_message); |
| خطا | پروتکل نامعتبر برای config.edge_config.proxy (باید http: یا https:: + proxy_url.protocol باشد) | اعلام کردن | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'invalid protocol for config.edge_config.proxy (expected http: or https:): ' + proxy_url.protocol); |
| خطا | میزبان پراکسی نامعتبر برای config.edge_config.proxy | اعلام کردن | assert(proxy_url.hostname, 'invalid proxy host for config.edge_config.proxy: ' + proxy_url.hostname); |
| خطا | بهنظر میرسد edge micro پیکربندی نشده است، لطفاً راهنمای سرپرست را ببینید | بازخوانی | نتیجه: پیکربندی بار نشد |
| خطا | کلید وجود ندارد | اعلام کردن | assert(keys.key, 'key is missing'); |
| خطا | باید configDir داشته باشد | اعلام کردن | assert(configDir, 'must have configDir') |
| خطا | گزینههای ضروری | اعلام کردن | assert(options, 'must have options'); |
| خطا | باید منبع داشته باشد | اعلام کردن | assert(source, 'must have source') |
| خطا | برای بار کردن از منبع باید منبع داشته باشد | اعلام کردن | assert(options.source, 'must have source to load from') |
| خطا | باید targetFile داشته باشد | اعلام کردن | assert(fileName, 'must have targetFile') |
| خطا | گزینهها نمیتواند تهی باشد | اعلام کردن | assert(options, 'options cannot be null'); |
| خطا | options.keys نمیتواند تهی باشد | اعلام کردن | assert(options.keys, 'options.keys cannot be null'); |
| خطا | port_message | اعلام کردن | assert(+config.edgemicro.port < 65536, port_message); |
| خطا | محصولات باید آرایه باشد | اعلام کردن | assert(Array.isArray(products), 'products should be an array'); |
| خطا | «proxies for product ' + product + ' باید آرایه باشد» | اعلام کردن | assert(Array.isArray(product.proxies), 'proxies for product ' + product + ' should be an array'); |
| خطا | رمز وجود ندارد | اعلام کردن | assert(keys.secret, 'secret is missing'); |
| خطا | هدف تنظیم نشده است | اعلام کردن | assert(target, 'target is not set'); |
| هشدار دادن | خطا در بارگیری پیکربندی، لطفاً پیکربندی راهاندازی را بررسی کنید | console.warn | |
| هشدار دادن | jwt_public_key بارگیری نشد | console.warn | |
| هشدار دادن | کلیدهای jwk فعال نیستند | console.warn | |
| هشدار دادن | پیام، «بارگیری از»، نشانی وب، «برگردانده شد» | console.warn | جستجو برای: (.*)\sdownload from\s(.*)\sreturned |
| هشدار دادن | هیچ محصول میکرو لبهای در پاسخ پیدا نشد | console.warn | |
| هشدار دادن | هیچ پراکسی میکرو لبهای در سازمان پیدا نشد | console.warn | |
| هشدار دادن | هیچ پراکسی خرد لبهای در پاسخ پیدا نشد | console.warn | |
| هشدار دادن | محصولی در سازمان پیدا نشد | console.warn | |
| هشدار دادن | محصولی در پاسخ پیدا نشد | console.warn | |
| هشدار دادن | استفاده از پیکربندی قدیمی ذخیرهشده در حافظه نهان | console.warn | |
واحد microgateway-plugins |
|||
| خطا | پیکربندی وجود ندارد | پرتاب میکند | مرتبط با فایل yaml |
| خطا | کلید api | پاسخ HTTP | خطاها در افزایه apiky |
| خطا | bauth | پاسخ HTTP | خطاها در افزایه bauth |
| خطا | extauth | پاسخ HTTP | خطاها در افزایه extauth |
| خطا | Oauth | پاسخ HTTP | خطاها در افزایه oauth |
| هشدار دادن | هنگام پردازش تجزیهوتحلیل Apigee خطایی رخ داد. اجازه دادن به ادامه پردازش درخواست | logger.error | |
| هشدار دادن | نادیده گرفتن خطا | console.warn | افزایههای apikeys، oauth، و oauthv2 |
| هشدار دادن | خطا در تجزیه jwt: | console.warn | |
| هشدار دادن | شیء پاسخ oath فاقد setHeader است | console.warn | خطای پارامتر oauth نشان میدهد که برخیاز خطاها گزارش نخواهند شد. |
| هشدار دادن | شیء پاسخ oath توسط زمان اجرا ارائه نشده است | console.warn | خطای پارامتر oauth |
| هشدار دادن | شیء آمار oath توسط زمان اجرا ارائه نمیشود | console.warn | خطای پارامتر oauth |
واحدapigeetool-node |
|||
| خطا | «حذف حافظه نهان» با کد وضعیت %d ناموفق بود، res.statusCode | بازخوانی | در deletecache.js پرتاب شد. رمز وضعیت از Apigee Edge. خطای ردیابی پشتهای را با این پیام به برگشت تماس ارسال میکند: done(new Error(errMsg)); |
| خطا | «محصول حذف نشد» با کد وضعیت %d', res.statusCode | بازخوانی | در deleteproduct.js پرتاب شد. رمز وضعیت از Apigee Edge. خطای ردیابی پشتهای را با این پیام به برگشت تماس ارسال میکند: done(new Error(errMsg)); |
| خطا | org، api، و revision باید مشخص شوند! | بازخوانی | در fetchproxy.js پرتاب شد. خطای پیکربندی. |
| خطا | هنگام واکشی پراکسی، خطای %d دریافت شد: %j | بازخوانی | در fetchproxy.js پرتاب شد. کد وضعیت غیر از ۲۰۰. |
| خطا | «ایجاد برنامه» با کد وضعیت %d ناموفق بود | بازخوانی | در createapp.js پرتاب شد. همه خطاها را بهعنوان خطاهای ردیابی پشتهای به برگشتیها برمیگرداند. هیچ برونداد کنسول یا ورودی گزارشی ایجاد نمیکند. |
| خطا | فرمان + ' با کد وضعیت %d ناموفق بود | بازخوانی | در command-utils.js پرتاب شد. برای هر دستوری که تجزیه و به این واحد منتقل میشود، هر کدی که ۲۰۰ یا ۲۰۱ نباشد پیام خطا تولید میکند. این پیام را قالببندی میکند اما چاپ نمیکند. خطای ردیابی پشتهای را با پیام به برگشتیها برمیگرداند. |
| خطا | هنگام واکشی کردن جاریسازی همرسانیشده، خطای %d دریافت شد: %s | بازخوانی | در fetchsharedflow.js پرتاب شد. برای هر وضعیت HTTP که ۲۰۰ نباشد. اگر موفق شود اما نتواند
فایلی را بنویسد، در کنسول مینویسد: نوشتن فایل ناموفق بود نوشتار خطا: [stack_trace_error] |
| خطا | KeySecret ایجاد نشد، کد وضعیت %d', res.statusCode | بازخوانی | در createappkey.js پرتاب شد. برای کدهای وضعیت HTTP از Apigee Edge که 200 یا 201 نیستند. |
| خطا | «ایجاد حافظه نهان» با کد وضعیت %d ناموفق بود، res.statusCode | بازخوانی | در createcache.js پرتاب شد. برای کدهای وضعیت HTTP از Apigee Edge که ۲۰۰ یا ۲۰۱ نیستند. |
| خطا | «ایجاد محصول» با کد وضعیت %d ناموفق بود، res.statusCode | بازخوانی | در createproduct.js پرتاب شد. برای رمزهای وضعیت HTTP از Apigee Edge که 201 نیستند. اگر وضعیت HTTP ۲۰۰ باشد اما پاسخ شامل JSON خطا باشد، JSON خطا به بازخوان ارسال میشود. |
| خطا | «حذف برنامه» با کد وضعیت %d ناموفق بود، res.statusCode | بازخوانی | در deleteapp.js پرتاب شد. برای رمزهای وضعیت اچتیتیپیاس از Apigee Edge که ۲۰۰ نیستند. اگر وضعیت HTTP برابر با ۲۰۰ باشد اما پاسخ شامل JSON خطا باشد، JSON خطا به بازخوان ارسال میشود. |
| خطا | «ایجاد توسعهدهنده» با کد وضعیت %d ناموفق بود، res.statusCode | بازخوانی | در createdeveloper.js پرتاب شد. برای رمزهای وضعیت HTTP از Apigee Edge که 201 نیستند. اگر وضعیت HTTP ۲۰۰ باشد اما پاسخ شامل JSON خطا باشد، JSON خطا به بازخوان ارسال میشود. |
| خطا | «حذف توسعهدهنده» با کد وضعیت %d ناموفق بود، res.statusCode | بازخوانی | در deletedeveloper.js پرتاب شد. برای رمزهای وضعیت اچتیتیپیاس از Apigee Edge که ۲۰۰ نیستند. اگر وضعیت HTTP برابر با ۲۰۰ باشد اما پاسخ شامل JSON خطا باشد، JSON خطا به بازخوان ارسال میشود. |
خطاهای افزایه
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| 503 | Too busy. No messages in HTTP or console | ||
| default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth plug-in (v1) with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| Access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2 plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | uri parameter must be specified | apigeequota.js | |
| throw | key parameter must be specified | apigeequota.js | |
| callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
| callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
| callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
| callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | start time not allowed for month time units | quota.js. volos error on time format. | |
| throw | Invalid start time %s | quota.js. volos error on time format. | |
| throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
| throw | Invalid timeUnit %s | spikearrest.js | |
| callback | key must be a string | spikearrest.js | |
| throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase plug-in with descriptions of possible causes.
No errors generated.