Apigee Edge-এর মাধ্যমে API অনুরোধ করা হলে, Apigee Edge কম্পোনেন্ট রাউটার ও মেসেজ প্রসেসর অথবা ব্যাকএন্ড
সার্ভার ক্লায়েন্ট অ্যাপ্লিকেশনকে সমস্যা সংক্রান্ত মেসেজ দেখাতে পারে।
মেসেজ প্রসেসর থেকে হওয়া সমস্যা
মেসেজ প্রসেসর হল Apigee Edge-এর মূল কম্পোনেন্ট যা নীতি প্রসেস করে এবং
ব্যাকএন্ড সার্ভারের সাথে ইন্টার্যাক্ট করে। এটি কোনও সমস্যা শনাক্ত করলে, যেমন:
নেটওয়ার্ক কানেক্টিভিটি সংক্রান্ত সমস্যা, TLS হ্যান্ডশেক ব্যর্থ হওয়া, ব্যাকএন্ড সার্ভার উপলভ্য না থাকা,
ব্যাকএন্ড সার্ভারের সাথে যোগাযোগ করার সময় কোনও উত্তর না পাওয়া
নীতি প্রয়োগ করার সময় সমস্যা হওয়া
ভুল HTTP হেডার, এনকোডিং, পাথ, HTTP স্পেসিফিকেশন মেনে না চলা, প্রোডাক্টের সীমা
অতিক্রম করা ইত্যাদি:
ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা পাঠানো HTTP অনুরোধের সাথে
অথবা
ব্যাকএন্ড সার্ভারের পাঠানো HTTP উত্তরের সাথে
এবং আরও অনেক কিছু
মেসেজ প্রসেসর থেকে পাওয়া সমস্যার নমুনা
মেসেজ প্রসেসর সবসময় HTTP স্ট্যাটাস কোড রিটার্ন করে, এর সাথে থাকে একটি JSON ফর্ম্যাটে
ভুল কোড এবং একটি ভুল মেসেজ, যেমন নিচে দেখানো হয়েছে:
ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত উদাহরণের মতো একটি রেসপন্স কোড পায়:
HTTP/1.1414Request-URI Too Long
মেসেজ প্রসেসর থেকে পাওয়া সমস্যার উত্তর নিম্নলিখিত ফর্ম্যাটে দেখানো হয়:
সমস্যার সম্ভাব্য কারণের বিবরণ সহ সমস্যার মেসেজ থাকে
errorcode
সমস্যার কোড (ফল্ট কোড নামেও পরিচিত) যা সমস্যার সাথে যুক্ত
রানটাইম সমস্যার ক্যাটালগ
এই সমস্যার ক্যাটালগে রানটাইম
সমস্যার কোড (নীতি সংক্রান্ত সমস্যা ছাড়া অন্য সমস্যার জন্য) সম্পর্কে আপনার যা কিছু জানা প্রয়োজন, সেইসব তথ্য দেওয়া আছে, যা Apigee Edge Message
Processor কম্পোনেন্ট থেকে ফেরত আসে। এর মধ্যে প্রতিটি সমস্যার কোডের জন্য নিম্নলিখিত তথ্য অন্তর্ভুক্ত থাকে:
নির্দিষ্ট এরর কোডের জন্য উপরের তথ্য
দেখাতে, টেবিল ফিল্টার করতে নিচের সার্চ বক্স ব্যবহার করুন। আপনি সারণীর যেকোনও ফিল্ডে স্ট্যাটাস কোড বা যেকোনও কন্টেন্ট
সার্চ করতে পারবেন।
searchসার্চ করুন
সমস্যার কোড
বিবরণ
এর সমাধান করুন
flow.*
flow.APITimedOut
HTTP স্ট্যাটাস কোড:
504 Gateway Timeout
সমস্যার মেসেজ:
API timed out
সম্ভাব্য কারণ:
এই সমস্যাটি তখনই হয় যদি:
নির্দিষ্ট API প্রক্সির জন্য প্রপার্টির
দ্বারা কনফিগার করা টাইম-আউট পিরিয়ডের মধ্যে
api.timeout ব্যাকএন্ড সার্ভার উত্তর দেয় না।
কম্পিউটেশনাল ইনটেনসিভ অপারেশন, বেশি
লোড বা খারাপ পারফর্ম্যান্সের কারণে কোনও নীতি প্রয়োগ করতে অনেক সময় লাগে।
মনে রাখবেন: এই প্লেবুকে
messaging.adaptors.http.flow.GatewayTimeout সমস্যার কোড সংক্রান্ত সমস্যার সমাধান করার নির্দেশাবলী দেওয়া আছে; তবে, আপনি flow.APITimedOut সমস্যার কোড সংক্রান্ত সমস্যার সমাধান করার জন্য একই
প্লেবুক ব্যবহার করতে পারেন।
ব্যাকএন্ড সার্ভার
ইমপ্লিমেন্টেশনের উপর নির্ভর করে সমস্যার মেসেজ ও ফর্ম্যাট আলাদা হতে পারে।
সম্ভাব্য কারণ:
Apigee Edge-এ ব্যাকএন্ড সার্ভার স্ট্যাটাস
কোড 504 সহ উত্তর দিলে এই সমস্যা হয়।
মনে রাখবেন: ক্লায়েন্ট অ্যাপ্লিকেশনে পাঠানো সমস্যার মেসেজের অংশ হিসেবে সমস্যার কোড
messaging.adaptors.http.flow.ErrorResponseCode ফেরত দেওয়া হয় না
। এটি
কারণ, ব্যাকএন্ড সার্ভার
সমস্যার উত্তর দিলে এবং 4XX বা 5XX
স্ট্যাটাস কোড থাকলে, Apigee Edge এই সমস্যার কোড সেট করে। আপনি API মনিটরিং, NGINX অ্যাক্সেস লগ,
অথবা অ্যানালিটিক্স ডেটাবেসে এই সমস্যার কোড দেখতে পাবেন।
messaging.adaptors.http.flow.GatewayTimeout
HTTP স্ট্যাটাস কোড:
504 Gateway Timeout
সমস্যার মেসেজ:
Gateway Timeout
সম্ভাব্য কারণ:
ব্যাকএন্ড সার্ভার যদি Apigee Edge মেসেজ প্রসেসরকে
মেসেজ প্রসেসরে কনফিগার করা
I/O টাইম-আউট পিরিয়ডের মধ্যে উত্তর না দেয়, তাহলে এই সমস্যা হয়।
Apigee Edge-এ পাঠানো HTTP POST ও PUT
অনুরোধের অংশ হিসেবে ক্লায়েন্ট অ্যাপ্লিকেশন Content-Length হেডার পাস না করলে
এই সমস্যা হয়।
মনে রাখবেন: এই
সমস্যা সহ ব্যর্থ হওয়া অনুরোধগুলি ট্রেস টুলে ক্যাপচার করা যায় না, কারণ মেসেজ প্রসেসর
এই যাচাইকরণ খুব প্রাথমিক পর্যায়ে, অনুরোধ প্রসেস করা এবং API প্রক্সিতে
কোনও নীতি প্রয়োগ করার অনেক আগেই করে।
Apigee Edge Message Processor, Message Processor কম্পোনেন্টে কনফিগার করা
I/O টাইম-আউট পিরিয়ডের জন্য ক্লায়েন্ট অ্যাপ্লিকেশন থেকে
অনুরোধ পেলোড না পেলে এই সমস্যা হয়।
এর সমাধান করুন
Apigee Edge-এর মেসেজ প্রসেসর কম্পোনেন্টে কনফিগার করা
I/O টাইম-আউট পিরিয়ডের মধ্যে ক্লায়েন্ট অ্যাপ্লিকেশন যাতে অনুরোধ পেলোড পাঠায় তা নিশ্চিত করুন।
messaging.adaptors.http.flow.ServiceUnavailable
HTTP স্ট্যাটাস কোড:
503 Service Unavailable
সমস্যার মেসেজ:
The Service is temporarily unavailable
সম্ভাব্য কারণ:
নিম্নলিখিত পরিস্থিতিগুলির মধ্যে কোনও একটিতে এই সমস্যাটি ঘটে:
কাস্টম অনুমোদন সার্ভার দ্বারা ব্যাকএন্ড সার্ভারের ভুল DNS রেজোলিউশন
হোস্টের ফলে ভুল IP অ্যাড্রেস তৈরি হয়েছে যার ফলে
কানেকশন সংক্রান্ত সমস্যা হয়েছে।
এর কারণে কানেকশন টাইম-আউট সংক্রান্ত সমস্যা হয়:
ব্যাকএন্ড সার্ভারে ফায়ারওয়াল সংক্রান্ত বিধিনিষেধের কারণে
Apigee Edge ব্যাকএন্ড সার্ভারের সাথে কানেক্ট করতে পারে না।
Apigee Edge ও ব্যাকএন্ড সার্ভারের মধ্যে নেটওয়ার্ক কানেক্টিভিটি সংক্রান্ত সমস্যা।
ব্যাকএন্ড সার্ভার।
টার্গেট এন্ডপয়েন্টে উল্লেখ করা টার্গেট সার্ভার হোস্ট
ভুল অথবা অবাঞ্ছিত অক্ষর (যেমন স্পেস) আছে।
এছাড়াও, মেসেজ প্রসেসর এখনও ব্যাকএন্ড সার্ভারে
অনুরোধ পেলোড পাঠাচ্ছে, এমন সময় ব্যাকএন্ড সার্ভার যদি কানেকশন
অসময়ে বন্ধ করে দেয়, তাহলে এই সমস্যা হতে পারে।
এই সমস্যার সমাধান করতে, এইসব নির্দেশাবলী অনুসরণ করুন:
আপনার ProxyEndpoint-এ সংজ্ঞায়িত রুট নিয়ম পর্যালোচনা করুন এবং নিশ্চিত করতে পরিবর্তন করুন যে
অন্তত একটি রুট নিয়ম শর্ত আছে যা আপনার অনুরোধের সাথে মেলে।
একাধিক RouteRule থাকলে, কোনও শর্ত ছাড়াই একটি ডিফল্ট রুট নিয়ম
সংজ্ঞায়িত করা ভালো।
কন্ডিশনাল রুটের তালিকায় ডিফল্ট রুট নিয়ম যেন সবসময় শেষে থাকে তা নিশ্চিত করুন, কারণ ProxyEndpoint-এ উপর থেকে নিচ পর্যন্ত নিয়ম মূল্যায়ন করা হয়।
<RouteRule> ProxyEndpoint-এ
কন্ডিশন নির্ধারণ করা সম্পর্কে আরও জানতে,
কন্ডিশনাল টার্গেট দেখুন।
messaging.runtime.SenseRaiseFault
HTTP স্ট্যাটাস কোড:
403 Forbidden
সমস্যার মেসেজ:
Sense Fault
সম্ভাব্য কারণ:
Apigee Sense নিয়মের অংশ হিসেবে ব্লক করা কোনও নির্দিষ্ট ক্লায়েন্ট IP অ্যাড্রেস থেকে 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
সম্ভাব্য কারণ:
নিম্নলিখিত সব শর্ত পূরণ হলেই শুধুমাত্র এই সমস্যাটি হয়:
ক্লায়েন্ট Apigee Edge-এ যে HTTP অনুরোধ পাঠায়
তাতে এগুলি থাকে:
Content-Type: application/x-www-form-urlencoded,
এবং
শতাংশ চিহ্ন (%) সহ ফর্ম ডেটা অথবা শতাংশ
চিহ্ন (%) সহ ভুল হেক্সাডেসিমেল অক্ষর যা
ফর্ম - বিভাগ ১৭.১৩.৪.১
অনুযায়ী অনুমোদিত নয়।
Apigee Edge-এ API প্রক্সি নির্দিষ্ট ফর্ম
প্যারামিটার পড়ে যাতে এমন অক্ষর থাকে যা অনুরোধ ফ্লোতে
ExtractVariables বা AssignMessage নীতি ব্যবহার করে অনুমোদিত নয়।
Apigee Edge-এ ডুপ্লিকেট থাকার অনুমতি নেই এমন কোনও নির্দিষ্ট HTTP হেডার
ক্লায়েন্ট অ্যাপ্লিকেশন থেকে Apigee Edge-এ পাঠানো HTTP অনুরোধের
অংশ হিসেবে একই বা আলাদা আলাদা ভ্যালু সহ একাধিকবার দেখা গেলে এই সমস্যা হয়।
ক্লায়েন্ট অ্যাপ্লিকেশন Apigee Edge-এ যে HTTP অনুরোধ পাঠায়,
তাতে যেন সবসময়
RFC 7230, বিভাগ ৩.২: হেডার ফিল্ড অনুযায়ী সঠিক হেডার নাম থাকে তা নিশ্চিত করুন।
protocol.http.HeaderNameWithNonAsciiChar
HTTP স্ট্যাটাস কোড:
400 Bad Request
সমস্যার মেসেজ:
Header {header_name} contains non ascii character {character}
সম্ভাব্য কারণ:
ক্লায়েন্ট অ্যাপ্লিকেশন Apigee Edge-এ HTTP অনুরোধের অংশ হিসেবে যে হেডার নাম পাঠায়
সেটিতে নন-ASCII অক্ষর থাকলে এই সমস্যা হয়।
Header {header_name} contains invalid character {character}
সম্ভাব্য কারণ:
ক্লায়েন্ট অ্যাপ্লিকেশন Apigee Edge-এ HTTP অনুরোধের অংশ হিসেবে যে হেডার নাম পাঠায়
সেটিতে সমান চিহ্ন (=), কমা (,), সেমিকোলন (;), ট্যাব, CRLF ও নিউলাইন অক্ষরের মতো
অননুমোদিত অক্ষর থাকলে এই সমস্যা হয়।
ক্লায়েন্ট
অ্যাপ্লিকেশন থেকে
Apigee Edge-এ পাঠানো HTTP অনুরোধের URL-এর পাথ যেন এমন কোনও অক্ষর না থাকে যা
RFC 3986, বিভাগ ৩.৩: পাথ অনুযায়ী অনুমোদিত নয়।
protocol.http.MessageReadError
HTTP স্ট্যাটাস কোড:
502 Bad Gateway
সমস্যার মেসেজ:
Unexpected I/O after message headers have been read.
সম্ভাব্য কারণ:
MP
যখন কোনও চ্যানেলে I/O পায় এবং সেটি প্রত্যাশিত নয়, তখন এই বিরল সমস্যাটি হয়। 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
সম্ভাব্য কারণ:
Apigee Edge-এ HTTP অনুরোধের অংশ হিসেবে ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা পাঠানো
পে-লোডের সাইজ Apigee Edge-এ অনুমোদিত সীমার চেয়ে বেশি হলে এই সমস্যা হয়।
Apigee Edge-এ HTTP অনুরোধের অংশ হিসেবে ক্লায়েন্ট অ্যাপ্লিকেশন
দ্বারা পাঠানো অনুরোধ লাইনের সাইজ Apigee Edge-এ
অনুমোদিত সীমার চেয়ে বেশি হলে এই সমস্যা হয়।
ব্যাকএন্ড সার্ভারের অনুরোধ করা URL, যা
ফ্লো ভেরিয়েবল target.url দ্বারা উপস্থাপিত হয়, তাতে যদি এমন পাথ থাকে যা ফরওয়ার্ড স্ল্যাশ (/) দিয়ে শুরু না হয়ে প্রশ্নচিহ্ন
(?) দিয়ে শুরু হয়, তাহলে এই সমস্যা হয়। এটি ভুল।
Apigee Edge-এ ডুপ্লিকেট থাকতে না দেওয়া নির্দিষ্ট HTTP হেডার
যদি Apigee Edge-এ ব্যাকএন্ড সার্ভারের পাঠানো HTTP রেসপন্সের অংশ হিসেবে একই বা আলাদা আলাদা ভ্যালু সহ
একাধিকবার দেখা যায়, তাহলে এই সমস্যা হয়।
Header {header_name} contains invalid character {character}
সম্ভাব্য কারণ:
HTTP রেসপন্স হিসেবে ব্যাকএন্ড সার্ভারের পাঠানো হেডার নামে
সমান চিহ্ন (=), কমা (,), সেমিকোলন (;), ট্যাব,
CRLF ও নিউলাইন অক্ষরের মতো অবৈধ অক্ষর থাকলে এই সমস্যা হয়।
Proxy refused to create tunnel with response status {status code}
সম্ভাব্য কারণ:
ফায়ারওয়াল, ACL (অ্যাক্সেস কন্ট্রোল লিস্ট), DNS
সংক্রান্ত সমস্যা, ব্যাকএন্ড সার্ভারের উপলভ্যতা ইত্যাদি কারণে প্রক্সি সার্ভার দ্বারা Apigee Edge এবং
ব্যাকএন্ড সার্ভারের মধ্যে টানেল তৈরি করার সময় এই সমস্যা হয়।
মনে রাখবেন: সমস্যার মেসেজে থাকা স্ট্যাটাস কোড
(faultstring) থেকে সমস্যার প্রাথমিক কারণ জানা যায়।
Response Status code 306 is reserved, so can't be used.
সম্ভাব্য কারণ:
ব্যাকএন্ড সার্ভার Apigee Edge-কে
306 স্ট্যাটাস কোড সহ উত্তর দিলে এই সমস্যা হয়।
306 স্ট্যাটাস কোডটি HTTP স্পেসিফিকেশনের
আগের ভার্সনে সংজ্ঞায়িত করা হয়েছে। বর্তমান HTTP স্পেসিফিকেশন অনুযায়ী, এই কোডটি
রিজার্ভ করা আছে এবং ব্যবহার করা উচিত নয়।
Apigee Edge-এ ব্যাকএন্ড সার্ভার থেকে পাওয়া HTTP রেসপন্স
204 No Content অথবা
205 Reset Content হলে এই সমস্যা হয়, তবে এতে
রেসপন্স বডি এবং/অথবা নিম্নলিখিত হেডারগুলির মধ্যে একটি বা একাধিক থাকে:
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
সম্ভাব্য কারণ:
TargetEndpoint
বা TargetServer-এ উল্লেখ করা নির্দিষ্ট KeyAlias নির্দিষ্ট Keystore-এ খুঁজে না পেলে এই সমস্যা হয়।
এর সমাধান করুন
TargetEndpoint বা TargetServer-এ নির্দিষ্ট করা KeyAlias
বিদ্যমান আছে এবং নির্দিষ্ট Keystore-এর অংশ কিনা তা নিশ্চিত করুন।
security.util.TrustStoreWithNoCertificates
HTTP স্ট্যাটাস কোড:
500 Internal Server Error
সমস্যার মেসেজ:
TrustStore {truststore_name} has no certificates
সম্ভাব্য কারণ:
TargetEndpoint বা
TargetServer-এ উল্লেখ করা নির্দিষ্ট Truststore-এ কোনও সার্টিফিকেট না থাকলে এই সমস্যা হয়।
এর সমাধান করুন
আপনি যদি ব্যাকএন্ড সার্ভারের সার্টিফিকেট যাচাই করতে চান এবং
TargetEndpoint বা TargetServer-এ Truststore ব্যবহার করতে চান, তাহলে
Truststore-এ ব্যাকএন্ড সার্ভারের সঠিক সার্টিফিকেট আছে কিনা তা নিশ্চিত করুন।
[[["সহজে বোঝা যায়","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-10-12 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]