আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
উপসর্গ
ক্লায়েন্ট অ্যাপ্লিকেশনটি API কলগুলির প্রতিক্রিয়া হিসাবে ত্রুটি কোড protocol.http.ResponseWithBody
সহ 502 Bad Gateway
একটি HTTP স্ট্যাটাস কোড পায়।http.ResponseWithBody।
ত্রুটি বার্তা
ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত প্রতিক্রিয়া কোড পায়:
HTTP/1.1 502 Bad Gateway
এছাড়াও, আপনি নিম্নলিখিত ত্রুটি বার্তাগুলির মধ্যে একটি পর্যবেক্ষণ করতে পারেন:
{ "fault":{ "faultstring":"Received 204 Response with message body", "detail":{ "errorcode":"protocol.http.ResponseWithBody" } } }
{ "fault":{ "faultstring":"Received 205 Response with message body", "detail":{ "errorcode":"protocol.http.ResponseWithBody" } } }
সম্ভাব্য কারণ
ব্যাকএন্ড সার্ভার থেকে Apigee Edge-এ HTTP প্রতিক্রিয়া যদি হয় 204 No Content
বা 205 Reset Content
কিন্তু এতে রেসপন্স বডি এবং/অথবা নিচের এক বা একাধিক শিরোনাম থাকে তাহলে এই ত্রুটি ঘটে:
-
Content-Length
-
Content-Encoding
-
Transfer-Encoding
RFC 7231, অধ্যায় 6.3.5: 204 কোন বিষয়বস্তু এবং RFC 7231, বিভাগ 6.3.6: 205 রিসেট কন্টেন্ট অনুযায়ী, এটি প্রত্যাশিত যে স্থিতি কোড 204 No Content
সহ প্রতিক্রিয়া পেলোড বডির অংশ হিসাবে কোনও অতিরিক্ত সামগ্রী পাঠানো হবে না মূল সার্ভার দ্বারা 204 No Content
বা 205 Reset Content
। প্রতিক্রিয়া শিরোনাম যেমন Content-Length
, Content-Encoding
বা Transfer-Encoding
প্রতিক্রিয়া পেলোডের আকার, প্রকার বা বিন্যাস নির্দেশ করে।
অতএব, Apigee Edge নিম্নলিখিত পরিস্থিতিতে ক্লায়েন্টকে ত্রুটি কোড protocol.http.ResponseWithBody
সহ একটি 502 Bad Gateway
স্ট্যাটাস কোড প্রদান করে:
ব্যাকএন্ড সার্ভার থেকে স্ট্যাটাস কোড | ||
---|---|---|
ব্যাকএন্ড সার্ভার থেকে প্রতিক্রিয়া রয়েছে | 204 কোন বিষয়বস্তু নেই | 205 রিসেট কন্টেন্ট |
প্রতিক্রিয়া শরীর | ত্রুটি | ত্রুটি |
(অ-শূন্য সেট) | ত্রুটি | ত্রুটি |
( Apigee Edge এ সমর্থিত এনকোডিং সেট করা হয়েছে) | ত্রুটি | কোনো ত্রুটি নেই |
Transfer-Encoding | ত্রুটি | ত্রুটি |
এই ত্রুটির সম্ভাব্য কারণগুলি এখানে রয়েছে:
কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য |
---|---|---|
ব্যাকএন্ড সার্ভার থেকে 204 প্রতিক্রিয়া সহ রেসপন্স বডি বা হেডার | ব্যাকএন্ড সার্ভার একটি 204 No Content বা 205 Reset Content প্রতিক্রিয়া একটি রেসপন্স বডি এবং/অথবা এক বা একাধিক হেডার Content-Type , Content-Encoding বা Transfer-Encoding পাঠায়। | এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সাধারণ রোগ নির্ণয়ের পদক্ষেপ
এই ত্রুটি নির্ণয় করতে নিম্নলিখিত সরঞ্জাম/কৌশলগুলির মধ্যে একটি ব্যবহার করুন:
API মনিটরিং
API মনিটরিং ব্যবহার করে ত্রুটি নির্ণয় করতে:
- Apigee Edge UI এ একটি উপযুক্ত ভূমিকা সহ ব্যবহারকারী হিসাবে সাইন ইন করুন৷
আপনি যে সংস্থায় সমস্যাটি তদন্ত করতে চান সেখানে যান।
- এনালাইজ > API মনিটরিং > ইনভেস্টিগেট পেজে নেভিগেট করুন।
- নির্দিষ্ট সময়সীমা নির্বাচন করুন যেখানে আপনি ত্রুটিগুলি পর্যবেক্ষণ করেছেন।
- সময়ের বিরুদ্ধে প্লট ফল্ট কোড ।
ফল্ট কোড
protocol.http.ResponseWithBody
আছে এমন একটি সেল নির্বাচন করুন। http.ResponseWithBody নীচে দেখানো হয়েছে:( বড় ছবি দেখুন )
আপনি ফল্ট কোড
protocol.http.ResponseWithBody
সম্পর্কে তথ্য দেখতে পাবেন। http.ResponseWithBody নীচে দেখানো হয়েছে:( বড় ছবি দেখুন )
লগ দেখুন ক্লিক করুন এবং ব্যর্থ অনুরোধের জন্য সারি প্রসারিত করুন।
( বড় ছবি দেখুন )
- লগ উইন্ডো থেকে, নিম্নলিখিত বিবরণ নোট করুন:
- স্ট্যাটাস কোড:
502
- ফল্ট উত্স:
target
- ফল্ট কোড:
protocol.http.ResponseWithBody
।
- স্ট্যাটাস কোড:
- যদি ফল্ট সোর্সের মান
target
205 Reset Content
এবং ফল্ট কোডে মানprotocol.http.ResponseWithBody
থাকে204 No Content
সম্ভাব্য কারণ বিভাগে উল্লিখিত শিরোনামগুলির মধ্যে একটি।
ট্রেস টুল
ট্রেস টুল ব্যবহার করে ত্রুটি নির্ণয় করতে:
- ট্রেস সেশন সক্ষম করুন এবং হয়:
-
502 Bad Gateway
ত্রুটি ঘটতে অপেক্ষা করুন। বা - আপনি যদি সমস্যাটি পুনরুত্পাদন করতে পারেন, তাহলে API কল করুন এবং
502 Bad Gateway
ত্রুটি পুনরুত্পাদন করুন৷
-
সমস্ত ফ্লোইনফোস সক্ষম করা আছে তা নিশ্চিত করুন:
- ব্যর্থ অনুরোধগুলির একটি নির্বাচন করুন এবং ট্রেস পরীক্ষা করুন।
- ট্রেসের বিভিন্ন পর্যায়ে নেভিগেট করুন এবং কোথায় ব্যর্থতা ঘটেছে তা সনাক্ত করুন।
আপনি সাধারণত
flowinfo
ত্রুটিতে ত্রুটিটি খুঁজে পাবেন নীচের দেখানো হিসাবে লক্ষ্য সার্ভার পর্বে পাঠানো অনুরোধের ঠিক পরে:দৃশ্যকল্প #1
দৃশ্যকল্প #1: ব্যাকএন্ড সার্ভার স্ট্যাটাস কোড
204 No Content
এর সাথে প্রতিক্রিয়া জানায় প্রতিক্রিয়া বডি এবং/অথবা সম্ভাব্য কারণগুলিতে তালিকাভুক্ত শিরোনামগুলির মধ্যে একটি সম্বলিত কোনও সামগ্রী নেই৷ট্রেস থেকে নিম্নলিখিত মান নোট করুন:
- ত্রুটি:
Received 204 Response with message body
- error.class:
com.apigee.rest.framework.BadGateway
দৃশ্যকল্প #2
দৃশ্যকল্প #2: ব্যাকএন্ড সার্ভার স্ট্যাটাস কোড
204 No Content
এর সাথে প্রতিক্রিয়া জানায় প্রতিক্রিয়া বডি এবং/অথবা সম্ভাব্য কারণগুলিতে তালিকাভুক্ত শিরোনামগুলির মধ্যে একটি সহ কোনও সামগ্রী নেই৷ট্রেস থেকে নিম্নলিখিত মান নোট করুন:
- ত্রুটি:
Received 205 Response with message body
- error.class:
com.apigee.rest.framework.BadGateway
- ত্রুটি:
- ট্রেসে AX (Analytics Data Recorded) পর্বে নেভিগেট করুন এবং এটিতে ক্লিক করুন।
ফেজ বিশদ বিবরণ , ত্রুটি শিরোনাম বিভাগে স্ক্রোল করুন এবং নীচে দেখানো হিসাবে X-Apigee-fault-code এবং X-Apigee-fault-source এর মান নির্ধারণ করুন:
( বড় ছবি দেখুন )
- মনে রাখবেন X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান যথাক্রমে
are protocol.http.ResponseWithBody
এবংtarget
। এটি নির্দেশ করে যে ত্রুটিটি ঘটেছে কারণ ব্যাকএন্ড সার্ভার প্রতিক্রিয়া বডি এবং/অথবা সম্ভাব্য কারণগুলিতে উল্লিখিত শিরোনামগুলির মধ্যে একটি সহ একটি204 No Content
বা205 Reset Content
স্ট্যাটাস কোড পাঠিয়েছে।ত্রুটি মান এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.ResponseWithBody
এক্স-অ্যাপিজি-ফল্ট-উৎস target
এনজিআইএনএক্স
NGINX অ্যাক্সেস লগ ব্যবহার করে ত্রুটি নির্ণয় করতে:
- আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি HTTP
502 Bad Gateway
সম্পর্কে মূল তথ্য নির্ধারণ করতে NGINX অ্যাক্সেস লগ ব্যবহার করতে পারেন। NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_log
যেখানে: ORG , ENV , এবং PORT# প্রকৃত মান দিয়ে প্রতিস্থাপিত হয়৷
- ত্রুটি কোড
protocol.http.ResponseWithBody
এর সাথে একটি নির্দিষ্ট সময়কালের (যদি সমস্যাটি অতীতে ঘটে থাকে) বা502
502
সাথে কোনো অনুরোধ এখনও ব্যর্থ হয়েছে কিনা তা দেখতে অনুসন্ধান করুন। আপনি যদি X-Apigee-fault-code-এর সাথে
protocol.http.ResponseWithBody
এর মানের সাথে502
টি ত্রুটি খুঁজে পান, তাহলে X-Apigee-fault-source- এর মান নির্ধারণ করুন।NGINX অ্যাক্সেস লগ থেকে নমুনা 502 ত্রুটি:
NGINX অ্যাক্সেস লগ থেকে উপরের নমুনা এন্ট্রিতে X- Apigee-fault-code এবং X-Apigee-fault-source এর জন্য নিম্নলিখিত মান রয়েছে:
প্রতিক্রিয়া শিরোনাম মান এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.ResponseWithBody
এক্স-অ্যাপিজি-ফল্ট-উৎস target
- মনে রাখবেন X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান যথাক্রমে
protocol.http.ResponseWithBody
এবংtarget
। এটি নির্দেশ করে যে ত্রুটিটি ঘটেছে কারণ ব্যাকএন্ড সার্ভার প্রতিক্রিয়া বডি এবং/অথবা সম্ভাব্য কারণগুলিতে উল্লিখিত শিরোনামগুলির মধ্যে একটি সহ একটি204 No Content
বা205 Reset Content
স্ট্যাটাস কোড পাঠিয়েছে।
কারণ: ব্যাকএন্ড সার্ভার থেকে 204 প্রতিক্রিয়া সহ রেসপন্স বডি বা হেডার
রোগ নির্ণয়
- এপিআই মনিটরিং, ট্রেস টুল, বা এনজিআইএনএক্স অ্যাক্সেস লগ ব্যবহার করে দেখা ত্রুটির জন্য ফল্ট কোড এবং ফল্ট সোর্স নির্ণয় করুন যা সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে।
-
204 No Content
ফল্ট কোডprotocol.http.ResponseWithBody
target
205 Reset Content
সম্ভাব্য কারণে ব্যাকএন্ড সার্ভার প্রকৃতপক্ষে একটি প্রতিক্রিয়া পেলোড বডি এবং/অথবা সম্ভাব্য কারণগুলিতে উল্লিখিত এক বা একাধিক শিরোনাম পাঠিয়েছে কিনা তা যাচাই করতে, আপনি নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে পারেন:
আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, এবং যদি আপনি আপনার যে কোনো সিস্টেম থেকে সরাসরি ব্যাকএন্ড সার্ভারে একই API অনুরোধ করতে পারেন।
- আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি ব্যাকএন্ড সার্ভারে একই এপিআই অনুরোধ করতে পারেন সরাসরি কোনো একটি মেসেজ প্রসেসর থেকে যেটি নির্দিষ্ট প্রতিষ্ঠান এবং পরিবেশের সাথে যুক্ত যেখানে ব্যর্থতা পরিলক্ষিত হয়।
ব্যাকএন্ড সার্ভার থেকে প্রাপ্ত প্রতিক্রিয়া পর্যালোচনা করুন এবং যাচাই করুন যে এতে একটি প্রতিক্রিয়া পেলোড বডি এবং/অথবা উপরে উল্লিখিত শিরোনামগুলির এক বা একাধিক রয়েছে৷ যদি হ্যাঁ, তাহলে এটি এই ত্রুটির কারণ।
নমুনা #1
নমুনা #1: বিষয়বস্তু-এনকোডিং হেডার সহ ব্যাকএন্ড সার্ভার প্রতিক্রিয়া 204
curl -v "https://BACKEND_SERVER_HOST_NAME/PATH" -H "HEADER: VALUE" -X HTTP_REQUEST_METHOD
… < HTTP/1.1 204 No Content
< Content-Encoding: gzip
< Date: Tue, 31 Jul 2021 21:41:13 GMT < Connection: keep-aliveএই নমুনায়, ব্যাকএন্ড সার্ভার
204 No Content
স্ট্যাটাস কোড এবংContent-Encoding: gzip
দিয়ে সাড়া দিয়েছেনমুনা #2
নমুনা #2: বিষয়বস্তু-দৈর্ঘ্য শিরোনাম সহ ব্যাকএন্ড সার্ভার প্রতিক্রিয়া 204
curl -v "https://BACKEND_SERVER_HOST_NAME/PATH" -H "HEADER: VALUE" -X HTTP_REQUEST_METHOD
… < HTTP/1.1 204 No Content
< Content-Length: 48
< Date: Tue, 31 Jul 2021 21:41:13 GMT < Connection: keep-aliveএই নমুনায়, ব্যাকএন্ড সার্ভার
204 No Content
স্ট্যাটাস কোড এবংContent-Length: 48
দিয়ে সাড়া দিয়েছেনমুনা #3
নমুনা #3: ব্যাকএন্ড সার্ভার রেসপন্স 205 রেসপন্স বডি সহ
curl -v "https://BACKEND_SERVER_HOST_NAME/PATH" -H "HEADER: VALUE" -X HTTP_REQUEST_METHOD
… < HTTP/1.1 205 Reset Content < Date: Sat, 31 Jul 2021 17:14:09 GMT < Content-Length: 12 < Content-Type: text/plain; charset=utf-8 < * Connection #0 to host X.X.X.X left intact
This is a sample Response
এই নমুনায়, ব্যাকএন্ড সার্ভার
205 Reset Content
স্ট্যাটাস কোড রেসপন্স বডি সহ সাড়া দিয়েছেThis is a sample Response.
- উপরের সমস্ত উদাহরণে, ব্যাকএন্ড সার্ভার
204 No Content
বা205 Reset Content
স্ট্যাটাস কোড রেসপন্স বডি এবং/অথবা সম্ভাব্য কারণগুলিতে উল্লিখিত হেডারগুলির মধ্যে একটি পাঠিয়েছে। - অতএব, Apigee Edge ত্রুটি কোড
protocol.http.ResponseWithBody
সহ502 Bad Gateway
স্ট্যাটাস কোড পাঠিয়েছে।http.ResponseWithBody।
রেজোলিউশন
নিশ্চিত করুন যে ব্যাকএন্ড সার্ভার সর্বদা স্পেসিফিকেশন RFC 7231, বিভাগ 6.3.6: 205 রিসেট কন্টেন্ট মেনে চলে, যখন Apigee Edge-এ 204 No Content
বা 205 Reset Content
রেসপন্স পাঠানো হয়। অর্থাৎ, ব্যাকএন্ড সার্ভারকে 204 No Content
বা 205 Reset Content
প্রতিক্রিয়ার অংশ হিসাবে নিম্নলিখিতগুলি পাঠাতে হবে না :
- রেসপন্স পেলোড বডি
- এবং নিম্নলিখিত শিরোনামগুলির যেকোনো একটি:
-
Content-Length
-
Content-Encoding
-
Transfer-Encoding
-
স্পেসিফিকেশন
Apigee Edge 502 Bad Gateway
স্ট্যাটাস কোড এবং এরর কোড protocol.http.ResponseWithBody
http.ResponseWithBody সহ সাড়া দেয় যদি ব্যাকএন্ড সার্ভার 204 No Content
বা 205 Reset Content
রেসপন্স পাঠায় কিন্তু নিম্নলিখিত RFC স্পেসিফিকেশন মেনে চলে না:
স্পেসিফিকেশন |
---|
RFC 7231, বিভাগ 6.3.5: 204 কোন বিষয়বস্তু নেই |
RFC 7231, সেকশন 6.3.6: 205 রিসেট কন্টেন্ট |
উল্লেখ্য মূল পয়েন্ট
প্রস্তাবিত সমাধান হল ব্যাকএন্ড সার্ভারকে 204 No Content
এবং 205 Reset Content
স্ট্যাটাস কোড পাঠানোর জন্য রিসেট বডি এবং যেকোনও হেডার - Content-Length
, Content-Encoding
এবং Transfer-Encoding
এবং RFC 7231 স্পেসিফিকেশন মেনে চলা। বিভাগ 6.3.5: 204 কোন বিষয়বস্তু নেই এবং RFC 7231, বিভাগ 6.3.6: 205 বিষয়বস্তু রিসেট করুন ।
আপনার যদি এখনও Apigee সাপোর্ট থেকে কোনো সহায়তার প্রয়োজন হয়, তাহলে অবশ্যই ডায়াগনস্টিক তথ্য সংগ্রহ করুন- এ যান।
ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে
নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন, এবং তারপর Apigee Edge সহায়তার সাথে যোগাযোগ করুন:
আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
- প্রতিষ্ঠানের নাম
- পরিবেশের নাম
- API প্রক্সি নাম
-
502
ত্রুটি পুনরুত্পাদন করতে ব্যবহৃত সম্পূর্ণcurl
কমান্ড - API অনুরোধের জন্য ট্রেস ফাইল
আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
- ব্যর্থ অনুরোধের জন্য পরিলক্ষিত সম্পূর্ণ ত্রুটি বার্তা
- পরিবেশের নাম
- API প্রক্সি বান্ডেল
- API অনুরোধের জন্য ট্রেস ফাইল
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