আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
লক্ষণ
এপিআই কলের প্রতিক্রিয়া হিসেবে ক্লায়েন্ট অ্যাপ্লিকেশনটি 502 Bad Gateway HTTP স্ট্যাটাস কোড এবং messaging.adaptors.http.flow.DecompressionFailureAtResponse এরর কোড পায়।
ত্রুটির বার্তা
ক্লায়েন্ট অ্যাপ্লিকেশনটি নিম্নলিখিত প্রতিক্রিয়া কোডটি পায়:
HTTP/1.1 502 Bad Gateway
এছাড়াও, আপনি নীচে দেখানোটির মতো একটি ত্রুটি বার্তা দেখতে পারেন:
{
"fault":{
"faultstring":"Decompression failure at response",
"detail":{
"errorcode":"messaging.adaptors.http.flow.DecompressionFailureAtResponse"
}
}
}সম্ভাব্য কারণসমূহ
এই ত্রুটিটি শুধুমাত্র তখনই ঘটে যদি:
- HTTP রেসপন্সের (ব্যাকএন্ড/টার্গেট সার্ভার থেকে প্রাপ্ত) হেডার
Content-Encodingএ নির্দিষ্ট করা এনকোডিংটি বৈধ এবং Apigee Edge দ্বারা সমর্থিত । - HTTP রেসপন্সের অংশ হিসেবে ব্যাকএন্ড/টার্গেট সার্ভার কর্তৃক প্রেরিত পেলোড ফরম্যাটটি
Content-Encodingহেডারে নির্দিষ্ট করা এনকোডিং ফরম্যাটের সাথে মেলে না।
কিন্তু
এর কারণ হলো, Apigee Edge নির্দিষ্ট এনকোডিং ব্যবহার করে পেলোডটি ডিকোড করতে ব্যর্থ হয়, যেহেতু পেলোডের ফরম্যাটটি Content-Encoding হেডারে নির্দিষ্ট করা এনকোডিংয়ের ফরম্যাটের মতো নয়।
এখানে সমর্থিত Content-Encoding মানগুলির কয়েকটি উদাহরণ এবং সেই ক্ষেত্রে Apigee Edge পেলোড উপস্থাপনাটি কেমন হবে বলে আশা করে, তা দেওয়া হলো:
| দৃশ্যকল্প | বিষয়বস্তু-এনকোডিং | পেলোড উপস্থাপনা |
|---|---|---|
| একক এনকোডিং | জিজিপ | ইউনিক্স RFC1952 GZIP ফরম্যাট দেখুন। |
| একক এনকোডিং | স্ফীত করা | এই ফরম্যাটটি ডিফ্লেট কম্প্রেশন অ্যালগরিদমের সাথে |
| একাধিক এনকোডিং | একাধিক এনকোডিং উদাহরণস্বরূপ, যখন এনকোডিং দুইবার করা হয়, তখন তা হতে পারে:
| হেডারে প্রদর্শিত ক্রমানুসারে পেলোডের উপর একাধিক এনকোডিং প্রয়োগ করা হয়েছে। |
এই ত্রুটির সম্ভাব্য কারণগুলো নিম্নরূপ:
| কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য |
|---|---|---|
| রেসপন্স পেলোড ফরম্যাট কন্টেন্ট-এনকোডিং এর সাথে মেলে না। | ব্যাকএন্ড/টার্গেট সার্ভার থেকে পাঠানো রেসপন্স পেলোডের ফরম্যাটটি হয় এনকোড করা নেই অথবা Content-Encoding হেডারে নির্দিষ্ট করা এনকোডিংয়ের সাথে মেলে না। | এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সাধারণ রোগ নির্ণয়ের পদক্ষেপ
এই ত্রুটি নির্ণয় করতে নিম্নলিখিত সরঞ্জাম/কৌশলগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:
এপিআই মনিটরিং
এপিআই মনিটরিং ব্যবহার করে ত্রুটি নির্ণয় করতে:
- উপযুক্ত ভূমিকা সম্পন্ন একজন ব্যবহারকারী হিসেবে Apigee Edge UI-তে সাইন ইন করুন ।
যে প্রতিষ্ঠানে আপনি বিষয়টি তদন্ত করতে চান, সেখানে যান।

- Analyze > API Monitoring > Investigate পৃষ্ঠায় যান।
- সেই নির্দিষ্ট সময়সীমাটি নির্বাচন করুন যার মধ্যে আপনি ত্রুটিগুলো লক্ষ্য করেছেন।
- নিশ্চিত করুন যে প্রক্সি ফিল্টারটি ‘সকল’ (All) এ সেট করা আছে।
- সময়ের সাপেক্ষে ফল্ট কোডের লেখচিত্র অঙ্কন করুন।
নীচে দেখানো অনুযায়ী, যে সেলটিতে
messaging.adaptors.http.flow.DecompressionFailureAtResponseফল্ট কোডটি রয়েছে, সেটি নির্বাচন করুন:( বড় ছবি দেখুন )

messaging.adaptors.http.flow.DecompressionFailureAtResponseফল্ট কোড সম্পর্কিত তথ্য নিচে দেখানো অনুযায়ী প্রদর্শিত হয়:( বড় ছবি দেখুন )

'View logs'-এ ক্লিক করুন এবং
502এরর-এর কারণে ফেইল হওয়া সারিটি এক্সপ্যান্ড করুন।( বড় ছবি দেখুন )

- লগস উইন্ডো থেকে নিম্নলিখিত বিবরণগুলো নোট করুন:
- স্ট্যাটাস কোড:
502 - ত্রুটির উৎস:
target - ত্রুটি কোড:
messaging.adaptors.http.flow.DecompressionFailureAtResponse.
- স্ট্যাটাস কোড:
- যদি ফল্ট সোর্সের মান '
targetহয়, তাহলে তা নির্দেশ করে যে রেসপন্স পেলোড ফরম্যাটটি ব্যাকএন্ড সার্ভারের রেসপন্স হেডারContent-Encoding-এ নির্দিষ্ট করা সমর্থিত এনকোডিংয়ের সাথে মেলেনি।
ট্রেস টুল
ট্রেস টুল ব্যবহার করে ত্রুটি নির্ণয় করতে:
- ট্রেস সেশনটি সক্রিয় করুন এবং নিম্নলিখিতগুলির মধ্যে যেকোনো একটি:
-
502 Bad Gatewayত্রুটিটি ঘটার জন্য অপেক্ষা করুন, অথবা - আপনি যদি সমস্যাটি পুনরায় তৈরি করতে পারেন, তাহলে এপিআই কলটি করুন এবং
502 Bad Gatewayত্রুটিটি পুনরায় দেখান।
-
নিশ্চিত করুন যে 'Show all FlowInfos' চালু আছে:

- ব্যর্থ প্রতিক্রিয়াগুলোর মধ্যে একটি নির্বাচন করুন এবং ট্রেসটি পরীক্ষা করুন।
- ট্রেসের বিভিন্ন ধাপ অতিক্রম করে ত্রুটিটি কোথায় ঘটেছে তা খুঁজে বের করুন।
সাধারণত, নিচে দেখানো অনুযায়ী, টার্গেট সার্ভার থেকে রেসপন্স পাওয়ার (Response Received from target server) ধাপের ঠিক পরেই একটি ফ্লো-তে ত্রুটিটি খুঁজে পাওয়া যায়:
( বড় ছবি দেখুন )

ট্রেস থেকে প্রপার্টিগুলোর মানগুলো লক্ষ্য করুন:
- কন্টেন্ট-এনকোডিং:
gzip - রেসপন্স কন্টেন্ট বডি:
{"fault":{"faultstring":"Decompression failure at response","detail":{"errorcode":"messaging.adaptors.http.flow.DecompressionFailureAtResponse"}}}
- কন্টেন্ট-এনকোডিং:
টার্গেট সার্ভার থেকে প্রতিক্রিয়া প্রাপ্ত পর্বের ঠিক পরেই ত্রুটি পর্বে যান:
( বড় ছবি দেখুন )

বৈশিষ্ট্যগুলো লক্ষ্য করুন:
- ত্রুটি:
Decompression failure at response - error.class:
com.apigee.errors.http.server.BadGateway ত্রুটির কারণ:
Not in GZIP formaterror.cause- এ বলা হয়েছে যে রেসপন্স পেলোডটি GZIP ফরম্যাটে নেই। এর মানে হলো, Apigee Edge আশা করছিল যে রেসপন্স পেলোডটি GZIP ফরম্যাটে থাকবে, যেমনটি
Content-Encodingহেডারে (যা আগের ধাপে নির্ধারণ করা হয়েছিল) উল্লেখ করা ছিল। তাই, Apigee Edge gzip ব্যবহার করে পেলোডটি ডিকম্প্রেস করতে পারছে না এবংDecompression failure at responseত্রুটিটি দেখাচ্ছে।
উল্লেখ্য যে, এই ক্ষেত্রে টার্গেট/ব্যাকএন্ড সার্ভার থেকে প্রাপ্ত রেসপন্সটি হলো
200; কিন্তু ক্লায়েন্ট অ্যাপ্লিকেশনটি একটি502রেসপন্স পাবে, কারণ এররটি Apigee Edge দ্বারা রিটার্ন করা হয়েছে।- ত্রুটি:
ট্রেস-এ থাকা 'Response Sent to Client' পর্যায়ে যান এবং এটিতে ক্লিক করুন।
( বড় ছবি দেখুন )

ট্রেস থেকে নিম্নলিখিত বিবরণগুলো লক্ষ্য করুন:
- স্ট্যাটাস কোড:
502 Bad Gateway। - ত্রুটির বিবরণ:
{"fault":{"faultstring":"Decompression failure at response","detail":{"errorcode":"messaging.adaptors.http.flow.DecompressionFailureAtResponse"}}}
- স্ট্যাটাস কোড:
ট্রেসটিতে থাকা AX (অ্যানালিটিক্স ডেটা রেকর্ড করা হয়েছে) পর্যায়ে যান এবং এটিতে ক্লিক করুন।
- Phase Details , Error Headers সেকশনে স্ক্রল ডাউন করুন এবং নিচে দেখানো অনুযায়ী X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান নির্ধারণ করুন:
( বড় ছবি দেখুন )

- আপনি X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান
messaging.adaptors.http.flow.DecompressionFailureAtResponseএবংtargetহিসেবে দেখতে পাবেন, যা নির্দেশ করে যে রেসপন্স পেলোড ফরম্যাটটিContent-Encodingহেডারে নির্দিষ্ট করা এনকোডিংয়ের সাথে মেলেনি।প্রতিক্রিয়া হেডার মূল্য এক্স-এপিজি-ফল্ট-কোড messaging.adaptors.http.flow.DecompressionFailureAtResponseএক্স-এপিজি-ফল্ট-সোর্স target
এনজিআইএনএক্স
NGINX অ্যাক্সেস লগ ব্যবহার করে ত্রুটি নির্ণয় করতে:
- আপনি যদি একজন প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে HTTP
502ত্রুটি সম্পর্কিত গুরুত্বপূর্ণ তথ্য জানতে NGINX অ্যাক্সেস লগ ব্যবহার করতে পারেন। NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_logযেখানে: ORG , ENV , এবং PORT# প্রকৃত মান দ্বারা প্রতিস্থাপিত হয়।
- একটি নির্দিষ্ট সময়কালের মধ্যে কোনো
502ত্রুটি আছে কিনা (যদি সমস্যাটি অতীতে ঘটে থাকে) অথবা এখনও কোনো প্রতিক্রিয়া502কারণে ব্যর্থ হচ্ছে কিনা তা অনুসন্ধান করে দেখুন। যদি আপনি
messaging.adaptors.http.flow.DecompressionFailureAtResponseএর মানের সাথে মিলে যাওয়া X-Apigee-fault-code সহ কোনো502ত্রুটি খুঁজে পান, তাহলে X-Apigee-fault-source-এর মান নির্ধারণ করুন।NGINX অ্যাক্সেস লগ থেকে প্রাপ্ত একটি নমুনা ৫০২ এরর:

NGINX অ্যাক্সেস লগ থেকে নেওয়া উপরের নমুনা এন্ট্রিটিতে X-Apigee-fault-code এবং X-Apigee-fault-source-এর জন্য নিম্নলিখিত মানগুলি রয়েছে:
প্রতিক্রিয়া হেডার মূল্য এক্স-এপিজি-ফল্ট-কোড messaging.adaptors.http.flow.DecompressionFailureAtResponseএক্স-এপিজি-ফল্ট-সোর্স target
কারণ: রেসপন্স পেলোড ফরম্যাট কন্টেন্ট-এনকোডিং এর সাথে মেলে না।
ডিফল্টরূপে, যদি রেসপন্স হেডার Content-Encoding একটি বৈধ এবং সমর্থিত এনকোডিং থাকে, তাহলে Apigee Edge সর্বদা পেলোডটি ডিকম্প্রেস করে। অতএব, আশা করা হয় যে রেসপন্স পেলোডের ফরম্যাটটি রেসপন্স হেডার Content-Encoding এ নির্দিষ্ট করা এনকোডিংয়ের সাথে মিলবে । যদি কোনো অমিল থাকে, তাহলে আপনি এই এররটি পাবেন।
রোগ নির্ণয়
- সাধারণ রোগ নির্ণয়ের ধাপগুলিতে ব্যাখ্যা করা অনুযায়ী API মনিটরিং, ট্রেস টুল বা NGINX অ্যাক্সেস লগ ব্যবহার করে পরিলক্ষিত ত্রুটির জন্য ফল্ট কোড এবং ফল্ট সোর্স নির্ধারণ করুন।
- যদি ফল্ট কোডটি
messaging.adaptors.http.flow.DecompressionFailureAtResponseহয় এবং ফল্ট সোর্সের মানtargetহয়, তাহলে এটি নির্দেশ করে যে ব্যাকএন্ড/টার্গেট সার্ভার দ্বারা প্রেরিত রেসপন্স পেলোডের ফরম্যাটটি রেসপন্স হেডারContent-Encodingএ নির্দিষ্ট করা সমর্থিত এনকোডিংয়ের সাথে মেলে না। আপনি নিম্নলিখিত পদ্ধতিগুলোর যেকোনো একটি ব্যবহার করে HTTP রেসপন্সের অংশ হিসেবে অমিলটি নির্ণয় করতে পারেন:
ত্রুটির বার্তা
ত্রুটির বার্তা ব্যবহার করে যাচাই করতে:
আপনার কাছে যদি Apigee Edge থেকে প্রাপ্ত সম্পূর্ণ এরর মেসেজটি থাকে, তাহলে
faultstringটি দেখুন।নমুনা ত্রুটি বার্তা:
"faultstring":"Decompression failure at response"
- উপরের ত্রুটি বার্তায়
"Decompression failure at response"প্রদর্শিত হচ্ছে, যার অর্থ হলোContent-Encodingহেডারে নির্দিষ্ট করা এনকোডিং ব্যবহার করে রেসপন্সটি ডিকম্প্রেস করা যায়নি।
ট্রেস
ট্রেস ব্যবহার করে যাচাই করতে:
- সাধারণ রোগনির্ণয় ধাপে বর্ণিত পদ্ধতি অনুযায়ী ট্রেস ব্যবহার করে কন্টেন্ট-টাইপ এবং ত্রুটির কারণ নির্ণয় করুন।
স্যাম্পল ট্রেস থেকে প্রাপ্ত মানগুলো নিম্নরূপ:
- কন্টেন্ট-এনকোডিং:
gzip - ত্রুটির কারণ:
Not in GZIP format
রেসপন্স হেডার Content-Encoding- এর ভ্যালুটি gzip ; কিন্তু রেসপন্স পেলোডটি GZIP ফরম্যাটে নেই (যেমনটি error.cause দ্বারা নির্দেশিত)। তাই, Apigee Edge
502 Bad Gatewayএবংmessaging.adaptors.http.flow.DecompressionFailureAtResponseএরর কোড দিয়ে রেসপন্স করে।- কন্টেন্ট-এনকোডিং:
প্রকৃত অনুরোধ
প্রকৃত অনুরোধ ব্যবহার করে যাচাই করতে:
টার্গেট/ব্যাকএন্ড সার্ভার অ্যাপ্লিকেশনে করা প্রকৃত অনুরোধটি যদি আপনার কাছে থাকে, তাহলে নিম্নলিখিত ধাপগুলো অনুসরণ করুন:
- আপনি যদি একজন পাবলিক ক্লাউড/প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে সরাসরি ব্যাকএন্ড সার্ভার থেকেই অথবা এমন কোনো মেশিন থেকে অনুরোধ করুন যেখান থেকে ব্যাকএন্ড সার্ভারে অনুরোধ করার অনুমতি আপনার রয়েছে।
- আপনি যদি একজন প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে আপনি মেসেজ প্রসেসরগুলোর যেকোনো একটি থেকেও ব্যাকএন্ড সার্ভারে অনুরোধ পাঠাতে পারেন।
- ব্যাকএন্ড সার্ভার থেকে পাঠানো প্রতিক্রিয়াটি পরীক্ষা করুন এবং প্রতিক্রিয়া হেডার
Content-Encoding. - অনুরোধের অংশ হিসেবে পাঠানো পেলোডের ফরম্যাট নির্ধারণ করুন।
- যদি
Content-Encodingহেডারের মান সমর্থিত এনকোডিংয়ের তালিকায় থাকে, কিন্তু রেসপন্স পেলোডের ফরম্যাটContent-Encodingহেডারে নির্দিষ্ট করা এনকোডিংয়ের সাথে না মেলে, তাহলে সেটাই সমস্যার কারণ।নমুনা:
curl -v https://HOSTALIAS/test
***trimmed*** > < HTTP/1.1 200 OK < Accept-Ranges: bytes <
Content-Encoding: gzip< Date: Mon, 02 Aug 2021 08:17:35 GMT < Transfer-Encoding: chunked < < response_payload.zip Response Body(not in GZIP format)>উপরের নমুনা প্রতিক্রিয়াটি
Content-Encodingহেডারেgzipভ্যালুটি পাঠায়, যা Apigee Edge-এ একটি সমর্থিত এনকোডিং । তবে,response_payload.zipকে একটি zip ফাইল হিসেবে পাঠানো হয়। ফলে, এই প্রতিক্রিয়াটিmessaging.adaptors.http.flow.DecompressionFailureAtResponseএরর কোড সহ একটি502 Bad Gatewayএরর দিয়ে ব্যর্থ হয়।
মেসেজ প্রসেসর লগ
মেসেজ প্রসেসর লগ ব্যবহার করে যাচাই করতে:
আপনি যদি একজন প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে HTTP
502ত্রুটি সম্পর্কিত মূল তথ্য নির্ধারণ করতে মেসেজ প্রসেসর লগ ব্যবহার করতে পারেন।মেসেজ প্রসেসর লগটি পরীক্ষা করুন:
/opt/apigee/var/log/edge-message-processor/logs/system.logএকটি নির্দিষ্ট সময়কালে কোনো
502ত্রুটি আছে কিনা (যদি সমস্যাটি অতীতে ঘটে থাকে) অথবা এখনও কোনো প্রতিক্রিয়া502ত্রুটির কারণে ব্যর্থ হচ্ছে কিনা তা অনুসন্ধান করুন। আপনি নিম্নলিখিত সার্চ স্ট্রিংটি ব্যবহার করতে পারেন:grep -ri "ZipException"
আপনি system.log-এ নিম্নলিখিতগুলির মতো লাইন খুঁজে পাবেন:
দৃশ্যকল্প #১
দৃশ্যকল্প #১: যখন এপিআই রেসপন্সে Content-Encoding: gzip হেডারটি থাকে
2021-08-02 06:50:25,433 NIOThread@2 ERROR HTTP.CLIENT - HTTPClient$Context.onInputException() : ClientInputChannel(ClientChannel[Connected: Remote:3.8.1.1:9000 Local:10.0.115.32:41298]@38140 useCount=1 bytesRead=0 bytesWritten=203 age=469ms lastIO=0ms isOpen=true).onExceptionRead exception: {}java.util.zip.ZipException: Not in GZIP format---trimmed-- 2021-08-02 06:50:25,433 NIOThread@2 INFO HTTP.CLIENT - HTTPClient$Context.logContextDetails() : Request details : host=null path=/folder/testFile method=GET. Channel details : Bytes read=0 2021-08-02 06:50:25,434 NIOThread@2 ERROR ADAPTORS.HTTP.FLOW - AbstractResponseListener.onException() : AbstractResponseListener.onError(HTTPResponse@4806fdab, Not in GZIP format) 2021-08-02 06:50:25,434 NIOThread@2 INFO HTTP.SERVICE - ExceptionHandler.handleException() : Exceptionjava.util.zip.ZipException: Not in GZIP formatoccurred while writing to channel null 2021-08-02 06:50:25,434 NIOThread@2 INFO HTTP.SERVICE - ExceptionHandler.handleException() : Exception trace: java.util.zip.ZipException: Not in GZIP formatউপরের এরর মেসেজে থাকা
java.util.zip.ZipException: Not in GZIP formatলাইনটি নির্দেশ করে যে,Content-Encodingহিসেবে gzip নির্দিষ্ট করা সত্ত্বেও রেসপন্স পেলোডটি GZIP ফরম্যাটে পাঠানো হয়নি। তাই, Apigee Edge এক্সেপশনটি থ্রো করে এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলোতেmessaging.adaptors.http.flow.DecompressionFailureAtResponseফল্ট কোডসহ একটি502স্ট্যাটাস কোড রিটার্ন করে।দৃশ্যকল্প #২
দৃশ্যকল্প #২: যখন API রেসপন্সে Content-Encoding: deflate হেডারটি থাকে
2021-08-02 06:35:21,215 NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onInputException() : ClientInputChannel(ClientChannel[Connected: Remote:3.8.1.1:9000 Local:192.168.194.140:35224]@36014 useCount=1 bytesRead=0 bytesWritten=202 age=439ms lastIO=2ms isOpen=true).onExceptionRead exception: {}java.util.zip.ZipException: incorrect header check---trimmed---- Caused by:java.util.zip.DataFormatException: incorrect header check---trimmed--- 2021-08-02 06:35:21,215 NIOThread@0 INFO HTTP.CLIENT - HTTPClient$Context.logContextDetails() : Request details : host=null path=/folder/testFile method=GET. Channel details : Bytes read=0 2021-08-02 06:35:21,216 NIOThread@0 ERROR ADAPTORS.HTTP.FLOW - AbstractResponseListener.onException() : AbstractResponseListener.onError(HTTPResponse@3966e277, incorrect header check) 2021-08-02 06:35:21,216 NIOThread@0 INFO HTTP.SERVICE - ExceptionHandler.handleException() : Exception java.util.zip.ZipException: incorrect header check occurred while writing to channel null 2021-08-02 06:35:21,217 NIOThread@0 INFO HTTP.SERVICE - ExceptionHandler.handleException() : Exception trace: java.util.zip.ZipException: incorrect header checkউপরের এরর মেসেজে থাকা
java.util.zip.ZipException: incorrect header checkএবংCaused by: java.util.zip.DataFormatException: incorrect header checkলাইনগুলো নির্দেশ করে যে, রেসপন্স পেলোডটি ডিফ্লেট ফরম্যাটে পাঠানো হয়নি এবং এটি ডিফ্লেটেরContent-Encodingহেডারে নির্দিষ্ট করা এনকোডিংয়ের সাথে মেলে না। তাই, Apigee Edge এক্সেপশনটি থ্রো করে এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলোতেmessaging.adaptors.http.flow.DecompressionFailureAtResponseফল্ট কোডসহ একটি502স্ট্যাটাস কোড রিটার্ন করে।
সমাধান
- Apigee Edge-এর API প্রক্সি ফ্লোতে এবং ব্যাকএন্ড সার্ভারে যদি কম্প্রেসড রেসপন্স পেলোডের প্রয়োজন না থাকে, তাহলে
Content-Encodingহেডারটি পাস করবেন না । যদি রেসপন্স পেলোড কম্প্রেস করার প্রয়োজন হয়, তাহলে ধাপ ২-এ যান। - যদি রেসপন্স পেলোড সংকুচিত করার প্রয়োজন হয়, তাহলে নিশ্চিত করুন যে ব্যাকএন্ড সার্ভার সর্বদা নিম্নলিখিতগুলি পাঠায়:
- রেসপন্সের
Content-Encodingহেডারের ভ্যালু হিসেবে যেকোনো সমর্থিত এনকোডিং ব্যবহার করা যাবে। - Apigee Edge-এ সমর্থিত ফরম্যাটে থাকা রেসপন্স পেলোডটি
Content-Encodingহেডারে নির্দিষ্ট করা এনকোডিং ফরম্যাটের সাথে মেলে।
- রেসপন্সের
- উপরে আলোচিত উদাহরণে, রেসপন্স পেলোডটি ZIP ফরম্যাটে আছে, কিন্তু রেসপন্স হেডারে
Content-Encoding: gzipউল্লেখ করা আছে। আপনি রেসপন্স হেডারটিContent-Encoding: gzipহিসেবে এবং রেসপন্স পেলোডটিgzipফরম্যাটে পাঠিয়ে সমস্যাটি সমাধান করতে পারেন:curl -v https://HOSTALIAS/v1/test
> < HTTP/1.1 200 OK < Accept-Ranges: bytes <
Content-Encoding: gzip< Date: Mon, 02 Aug 2021 08:17:35 GMT < Transfer-Encoding: chunked < < response_payload.gz Response Body(in GZIP format)>
স্পেসিফিকেশন
নিম্নলিখিত RFC স্পেসিফিকেশন অনুসারে, Apigee Edge 502 Bad Gateway স্ট্যাটাস কোড এবং messaging.adaptors.http.flow.DecompressionFailureAtResponse এরর কোড সহ সাড়া দেয়:
| স্পেসিফিকেশন |
|---|
| আরএফসি ৭২৩১, ধারা ৬.৫.১ |
| আরএফসি ৭২৩১, ধারা ৩.১.২.২ |
আপনার যদি এখনও Apigee Support-এর কাছ থেকে কোনো সাহায্যের প্রয়োজন হয়, তাহলে Must gather diagnostic information- এ যান।
রোগ নির্ণয়ের তথ্য অবশ্যই সংগ্রহ করতে হবে
নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন, এবং তারপর Apigee Edge Support-এর সাথে যোগাযোগ করুন:
আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্যগুলো প্রদান করুন:
- সংস্থার নাম
- পরিবেশের নাম
- এপিআই প্রক্সি নাম
-
502ত্রুটিটি পুনরুৎপাদন করতে ব্যবহৃত সম্পূর্ণcurlকমান্ড। - এপিআই প্রতিক্রিয়াগুলির ট্রেস ফাইল
আপনি যদি একজন প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্যগুলো প্রদান করুন:
- ব্যর্থ প্রতিক্রিয়াগুলির জন্য সম্পূর্ণ ত্রুটি বার্তা পরিলক্ষিত হয়েছে।
- পরিবেশের নাম
- এপিআই প্রক্সি বান্ডেল
- এপিআই প্রতিক্রিয়াগুলির ট্রেস ফাইল
NGINX অ্যাক্সেস লগ
/opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_logযেখানে: ORG , ENV এবং PORT# প্রকৃত মান দ্বারা প্রতিস্থাপিত হয়।
- মেসেজ প্রসেসর সিস্টেম লগ
/opt/apigee/var/log/edge-message-processor/logs/system.log