আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
সমস্যার উপসর্গ
API কলের উত্তরে ক্লায়েন্ট অ্যাপ্লিকেশন 504 HTTP স্ট্যাটাস কোড সহ এই মেসেজ পায়: "গেটওয়ে টাইম-আউট"।
এই সমস্যার উত্তর থেকে বোঝা যায় যে API কল এক্সিকিউট করার সময় ক্লায়েন্ট Apigee Edge বা ব্যাকএন্ড সার্ভার থেকে সময়মতো উত্তর পায়নি।
ত্রুটি বার্তা
ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত রেসপন্স কোড পায়:
HTTP/1.1 504 Gateway Timeout
এই কোডের পরে নিচে দেখানো মেসেজের মতো কোনও সমস্যার মেসেজ দেখানো হতে পারে:
<html> <head><title>504 Gateway Timeout</title></head> <body bgcolor="white"> <center><h1>504 Gateway Timeout</h1></center> </body> </html>
গেটওয়ে টাইমআউট কেন হয়?
Apigee Edge-এর মাধ্যমে করা API অনুরোধের সাধারণ পাথ হল ক্লায়েন্ট -> রাউটার -> মেসেজ প্রসেসর -> ব্যাকএন্ড সার্ভার, যা নিচে দেখানো ছবিতে দেখানো হয়েছে:

ক্লায়েন্ট অ্যাপ্লিকেশন, রাউটার ও মেসেজ প্রসেসর উপযুক্ত টাইম-আউট ভ্যালু দিয়ে কনফিগার করা হয়। টাইমআউট ভ্যালুর উপর ভিত্তি করে, Apigee Edge প্রতিটি API অনুরোধের জন্য একটি নির্দিষ্ট সময়ের মধ্যে উত্তর আশা করে। নির্দিষ্ট সময়সীমার মধ্যে উত্তর না পেলে, 504 Gateway Timeout উত্তর রিটার্ন করা হয়।
সম্ভাব্য কারণ
Apigee Edge-এ, ব্যাকএন্ড সার্ভার থেকে 504 Gateway Timeout উত্তরের সাধারণ কারণ হল:
| কারণ | বিবরণ | এর জন্য সমস্যা সমাধানের নির্দেশাবলী |
|---|---|---|
| 504 গেটওয়ে টাইমআউট সহ ব্যাকএন্ড সার্ভার উত্তর দিচ্ছে | ব্যাকএন্ড সার্ভার টাইম-আউট হয়ে যায় এবং মেসেজ প্রসেসরকে 504 Gateway Timeout উত্তর দেয়। | Edge প্রাইভেট ও পাবলিক ক্লাউড ব্যবহারকারী |
504 Gateway Timeout সহ ব্যাকএন্ড সার্ভার উত্তর দিচ্ছে
ব্যাকএন্ড সার্ভার 504 Gateway Timeout HTTP রেসপন্স কোড দিয়ে উত্তর দিতে পারে।
ডায়াগনসিস
504 গেটওয়ে টাইম-আউট সংক্রান্ত সমস্যার সঠিক সমাধান কীভাবে করতে হয় তা এই বিভাগে ব্যাখ্যা করা হয়েছে। প্রাইভেট ও পাবলিক ক্লাউড ব্যবহারকারীদের জন্য প্রসেস তালিকাভুক্ত করা আছে।
পদ্ধতি #১: Trace ব্যবহার করা (প্রাইভেট ও পাবলিক ক্লাউড ব্যবহারকারী)
- প্রভাবিত API-এর জন্য Apigee UI-তে Trace চালু করুন।
- ব্যাকএন্ড সার্ভারে অনুরোধ পাঠান।
- API অনুরোধ ব্যর্থ হলে, Trace-এ যদি ব্যাকএন্ড সার্ভার থেকে 504 উত্তর দেখা যায়, তাহলে 504 গেটওয়ে টাইমআউটের কারণ হল ব্যাকএন্ড সার্ভার।
- উত্তর পাওয়ার সময় নির্ধারণ করতে, Trace-এ টার্গেট সার্ভার থেকে পাওয়া উত্তর
ফেজে ক্লিক করুন। দেখানো উদাহরণে, অতিবাহিত সময় হল ৬০০০০৪ মিলি সেকেন্ড:

ফেজ বিবরণ বিভাগে অতিরিক্ত তথ্য দেওয়া থাকে:
- এটি ব্যাকএন্ড সার্ভার থেকে পাওয়া 504 গেটওয়ে টাইম-আউট উত্তর হাইলাইট করে।
- উত্তর কন্টেন্ট বিভাগে ব্যাকএন্ড সার্ভারের উত্তরের সম্পূর্ণ বডি দেখানো হয়। আগে উল্লেখ করা হয়েছে যে, ব্যাকএন্ড সার্ভার ইমপ্লিমেন্টেশনের উপর ভিত্তি করে উত্তর পেলোডের ফর্ম্যাট ও কন্টেন্ট আলাদা হতে পারে।
- উত্তর হেডার > সার্ভার বিভাগ থেকে উত্তরটি কোথা থেকে এসেছে তা বোঝা যেতে পারে।
- Analytics ডেটা দেখতে এবং ডায়াগনসিস কনফার্ম করতে, Trace-এ Analytics ডেটা রেকর্ড করা হয়েছে
ফেজে ক্লিক করুন, যেমনটি নিচের ছবিতে দেখানো হয়েছে:

ফেজ বিবরণের রেসপন্স হেডার বিভাগে
X-Apigee-fault-codeওX-Apigee-fault-source-এর ভ্যালু দেখানো হয়, যেমনটি নিচের ছবিতে দেখানো হয়েছে:
এইসব ফিল্ডে নিচের টেবিলে দেখানো ভ্যালু থাকলে, 504 সমস্যার উত্তর ব্যাকএন্ড সার্ভার থেকে আসে:
রেসপন্স হেডার মান X-Apigee-fault-source target X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode -
প্রক্সি চেইনিং চেক করুন। Apigee-তে ব্যাকএন্ড সার্ভার অন্য কোনও প্রক্সি
ইনভোক করছে কিনা তা নির্ধারণ করতে এইসব ধাপ অনুসরণ করুন:
- টার্গেট সার্ভারে পাঠানো অনুরোধ ধাপে ফিরে যান এবং ব্যাকএন্ড সার্ভার হোস্ট অ্যালিয়াস দেখতে Curl দেখুন বোতামে ক্লিক করুন।
- ব্যাকএন্ড সার্ভার হোস্টের ছদ্মনাম ভার্চুয়াল হোস্টের ছদ্মনামের দিকে পয়েন্ট করলে, প্রক্সি চেইনিং ইন প্লেস থাকে। 504 Gateway টাইম-আউট সমস্যার কারণ নির্ণয় করতে প্রতিটি চেইন করা প্রক্সির জন্য উপরের ধাপগুলি আবার করুন। অনুরোধ/উত্তর চক্রের অন্যান্য পর্যায়ে চেইন করা প্রক্সিতে হওয়া 504 গেটওয়ে টাইম-আউট এই প্লেবুক ব্যবহার করে ডায়াগনসিস করা যেতে পারে।
- ব্যাকএন্ড সার্ভার হোস্টের ছদ্মনাম ব্যাকএন্ড সার্ভারের দিকে পয়েন্ট করলে, সমাধান দেখুন।
পদ্ধতি #২: সরাসরি ব্যাকএন্ড সার্ভার API ইনভোক করা (পাবলিক ও প্রাইভেট ক্লাউড ব্যবহারকারী)
Apigee Edge-এর মাধ্যমে অনুরোধ করা হলে, একই 504 Gateway Timeout সংক্রান্ত আচরণ দেখা গেছে কিনা তা কনফার্ম করতে সরাসরি ব্যাকএন্ড সার্ভারকে কল করুন।
- অনুরোধের অংশ হিসেবে ব্যাকএন্ড সার্ভারে পাস করার জন্য প্রয়োজনীয় সব হেডার, কোয়েরি প্যারামিটার ও ক্রেডেনশিয়াল আপনার কাছে আছে কিনা তা নিশ্চিত করুন।
- ব্যাকএন্ড পরিষেবা সর্বজনীনভাবে অ্যাক্সেস করা গেলে, আপনি
curlকমান্ড, Postman বা অন্য কোনও REST ক্লায়েন্ট ব্যবহার করতে এবং সরাসরি ব্যাকএন্ড সার্ভার API ইনভোক করতে পারবেন। - ব্যাকএন্ড সার্ভার শুধুমাত্র মেসেজ প্রসেসর থেকে অ্যাক্সেস করা গেলে,
curlকমান্ড, Postman বা অন্য কোনও REST ক্লায়েন্ট ব্যবহার করে মেসেজ প্রসেসর থেকে সরাসরি ব্যাকএন্ড সার্ভার API ইনভোক করুন। - ব্যাকএন্ড পরিষেবা 504 গেটওয়ে টাইমআউট উত্তর দিলে, সমাধান বিভাগে যান।
পদ্ধতি #৩: NGINX অ্যাক্সেস লগ চেক করা (শুধুমাত্র ব্যক্তিগত ক্লাউড ব্যবহারকারীদের জন্য)
NGINX অ্যাক্সেস লগ থেকে বোঝা যেতে পারে যে 504 সমস্যার উত্তর ব্যাকএন্ড সার্ভার পাঠিয়েছে কিনা। অতীতে সমস্যা হয়ে থাকলে, মাঝে মাঝে হলে অথবা Trace-এ ক্যাপচার করা না গেলে এটি বিশেষভাবে উপযোগী হয়। NGINX অ্যাক্সেস লগ চেক করতে এইসব ধাপ অনুসরণ করুন:
- এই কমান্ড ব্যবহার করে NGINX অ্যাক্সেস লগ দেখুন:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log
- প্রভাবিত API প্রক্সির জন্য 504 সমস্যার উত্তর চেক করুন। আপনি নির্দিষ্ট সময়সীমা চেক করতে পারেন, যদি সমস্যাটি আগে ঘটে থাকে অথবা অনুরোধ এখনও 504 সমস্যা সংক্রান্ত উত্তর সহ ব্যর্থ হচ্ছে কিনা তা নির্ধারণ করতে পারেন।
- 504 সমস্যার উত্তর থাকলে, সমস্যার উত্তরটি ব্যাকএন্ড সার্ভার থেকে এসেছে কিনা তা নির্ধারণ করুন।
- প্রক্সি চেইনিং চেক করতে প্রভাবিত API প্রক্সি পর্যালোচনা করুন অর্থাৎ, ব্যাকএন্ড সার্ভার/টার্গেট এন্ডপয়েন্ট Apigee-তে অন্য প্রক্সি ইনভোক করছে। API প্রক্সি যদি প্রক্সি চেইনিং ব্যবহার করে, তাহলে 504 Gateway Timeout এরর রেসপন্স হওয়ার কারণ নির্ণয় করতে, প্রতিটি চেইন করা প্রক্সির জন্য উপরে উল্লেখ করা ধাপগুলি রিপিট করুন। অন্যান্য ধাপে চেইন করা প্রক্সিতে হওয়া 504 গেটওয়ে টাইম-আউটকে এই প্লেবুক ব্যবহার করে ডায়াগনসিস করা যেতে পারে।
- প্রক্সি চেইনিং না থাকলে এবং 504 সমস্যার উত্তর ব্যাকএন্ড সার্ভার থেকে এলে, সমাধান বিভাগে যান।
নিচের ছবিতে NGINX লগ এন্ট্রির একটি উদাহরণ দেখানো হয়েছে, যেখানে টার্গেট সার্ভারের কারণে 504 সমস্যার উত্তর দেখানো হয়েছে:

X-Apigee-fault-source এবং X-Apigee-fault-code ফিল্ডে যদি নিচের টেবিলে দেখানো
ভ্যালু থাকে, তাহলে 504 উত্তরটি ব্যাকএন্ড সার্ভার থেকে আসে:
| রেসপন্স হেডার | মান |
|---|---|
| X-Apigee-fault-source | target |
| X-Apigee-fault-code | messaging.adaptors.http.flow.ErrorResponseCode |
পদ্ধতি #৪: API মনিটরিং ব্যবহার করা (শুধুমাত্র পাবলিক ক্লাউড ব্যবহারকারীদের জন্য)
API মনিটরিং আপনাকে সমস্যা এলাকাগুলি দ্রুত আলাদা করতে সাহায্য করে যাতে আপনি ডেভেলপার অ্যাপ, API প্রক্সি, ব্যাকএন্ড টার্গেট বা API প্ল্যাটফর্মের মতো সমস্যা, পারফর্ম্যান্স ও লেটেন্সি সংক্রান্ত সমস্যা এবং সেগুলির সোর্স ডায়াগনসিস করতে পারেন।
API মনিটরিং ব্যবহার করে আপনার API-তে 5xx সমস্যা কীভাবে সমাধান করবেন তা দেখানোর জন্য একটি নমুনা পরিস্থিতি দেখুন । যেমন, ৫০৪ স্ট্যাটাস কোডের সংখ্যা একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করলে অ্যাডমিনিস্ট্রেটরকে বিজ্ঞপ্তি পাঠানোর জন্য একটি সতর্কতা সেট-আপ করুন।
হিসেবে সেট করুনরেজোলিউশন
উপরে বর্ণিত ডায়াগনস্টিক পদ্ধতি ব্যবহার করে, আপনি ব্যাকএন্ড সার্ভার টিমের সাথে কাজ করে ব্যাকএন্ড সার্ভারের সমস্যার সমাধান করতে পারবেন। এর মধ্যে ব্যাকএন্ড সার্ভারে টাইম-আউট অ্যাডজাস্ট করা বা টার্গেট সার্ভারের সামনে থাকা যেকোনও লোড ব্যালেন্সারে টাইম-আউট অ্যাডজাস্ট করা অন্তর্ভুক্ত থাকতে পারে।
ডায়াগনস্টিক তথ্য সংগ্রহ করা
সমস্যাটি থেকে গেলে, Apigee সহায়তা টিমের সাথে নিম্নলিখিত ডায়াগনস্টিক তথ্য শেয়ার করুন।
আপনি পাবলিক ক্লাউড ব্যবহারকারী হলে, নিম্নলিখিত তথ্য প্রদান করুন:
- সংস্থার নাম
- পরিবেশের নাম
- API প্রক্সির নাম
- ৫০৪ সমস্যার উত্তর রেপ্রোডিউস করার জন্য ব্যবহৃত
curlকমান্ড সম্পূর্ণ করুন - API অনুরোধ সহ ট্রেস ফাইল, 504 গেটওয়ে টাইমআউট সমস্যার মেসেজ দেখাচ্ছে
আপনি Private Cloud ব্যবহারকারী হলে, নিম্নলিখিত তথ্য দিন:
- অনুরোধ সম্পূর্ণ না হওয়ার ক্ষেত্রে দেখা সম্পূর্ণ সমস্যার মেসেজ
- পরিবেশের নাম
- API প্রক্সি বান্ডেল
- API অনুরোধ সহ ট্রেস ফাইল 504 গেটওয়ে টাইম-আউট সমস্যার উত্তর পাচ্ছে
- NGINX অ্যাক্সেস লগ
/opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log
- মেসেজ প্রসেসর লগ
/opt/apigee/var/log/edge-message-processor/logs/system.log