আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
লক্ষণ
এপিআই কলের জবাবে ক্লায়েন্ট অ্যাপ্লিকেশনটি "গেটওয়ে টাইমআউট" বার্তা সহ একটি 504 HTTP স্ট্যাটাস কোড পায়।
এই ত্রুটিপূর্ণ প্রতিক্রিয়াটি নির্দেশ করে যে, একটি এপিআই কল সম্পাদনের সময় ক্লায়েন্ট 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 গেটওয়ে টাইমআউট প্রতিক্রিয়া ফেরত দেওয়া হয়।
সম্ভাব্য কারণসমূহ
Apigee Edge-এ, ব্যাকএন্ড সার্ভার থেকে 504 Gateway Timeout রেসপন্স পাওয়ার সাধারণ কারণটি হলো:
| কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী |
|---|---|---|
| ব্যাকএন্ড সার্ভার 504 গেটওয়ে টাইমআউটের মাধ্যমে সাড়া দিচ্ছে | ব্যাকএন্ড সার্ভার টাইম আউট হয়ে যায় এবং মেসেজ প্রসেসরকে একটি 504 গেটওয়ে টাইম আউট প্রতিক্রিয়া ফেরত পাঠায়। | এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীরা |
ব্যাকএন্ড সার্ভার 504 গেটওয়ে টাইমআউটের মাধ্যমে সাড়া দিচ্ছে
ব্যাকএন্ড সার্ভারটি 504 গেটওয়ে টাইমআউট HTTP প্রতিক্রিয়া কোড দিয়ে সাড়া দিতে পারে।
রোগ নির্ণয়
এই বিভাগে একটি 504 গেটওয়ে টাইমআউট সঠিকভাবে নির্ণয় করার পদ্ধতি ব্যাখ্যা করা হয়েছে। প্রাইভেট এবং পাবলিক ক্লাউড উভয় ব্যবহারকারীর জন্য পদ্ধতিগুলো তালিকাভুক্ত করা হয়েছে।
পদ্ধতি #১: ট্রেস ব্যবহার (প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীদের জন্য)
- প্রভাবিত API-টির জন্য Apigee UI-তে ট্রেস (Trace) চালু করুন।
- ব্যাকএন্ড সার্ভারে একটি অনুরোধ পাঠান।
- যদি ব্যর্থ হওয়া API অনুরোধটির ট্রেস-এ ব্যাকএন্ড সার্ভার থেকে 504 প্রতিক্রিয়া দেখা যায়, তাহলে 504 গেটওয়ে টাইমআউটের কারণ হলো ব্যাকএন্ড সার্ভার।
- রেসপন্স টাইম নির্ধারণ করতে, ট্রেস (Trace)-এ থাকা 'Response received from target server' পর্যায়ে ক্লিক করুন। দেখানো উদাহরণে, অতিবাহিত সময় হলো 60004 ms:

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

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

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