আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
লক্ষণ
ক্লায়েন্ট অ্যাপ্লিকেশনটি এপিআই কলের প্রতিক্রিয়া হিসাবে protocol.http.EmptyPath ত্রুটি কোড সহ 500 Internal Server Error এর একটি HTTP স্ট্যাটাস কোড পায়।
ত্রুটির বার্তা
ক্লায়েন্ট অ্যাপ্লিকেশনটি নিম্নলিখিত প্রতিক্রিয়া কোডটি পায়:
HTTP/1.1 500 Internal Server Error
এছাড়াও, আপনি নিম্নলিখিত ত্রুটি বার্তাটি দেখতে পারেন:
{
"fault":{
"faultstring":"Request path cannot be empty",
"detail":{
"errorcode":"protocol.http.EmptyPath"
}
}
}সম্ভাব্য কারণসমূহ
ফ্লো ভ্যারিয়েবল target.url দ্বারা নির্দেশিত ব্যাকএন্ড সার্ভারের রিকোয়েস্ট URL-এ যদি কোনো খালি পাথ থাকে, তাহলে এই ত্রুটিটি ঘটে।
RFC 3986, অনুচ্ছেদ ৩: সিনট্যাক্স কম্পোনেন্টস এবং RFC 3986, অনুচ্ছেদ ৩.৩: পাথ-এর স্পেসিফিকেশন অনুযায়ী:
URI সিনট্যাক্সের নিম্নলিখিত উপাদানগুলো রয়েছে:
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragmentpathকম্পোনেন্টটি আবশ্যক এবং এতে অবশ্যই একটি ফরওয়ার্ড স্ল্যাশ (/) থাকতে হবে, এমনকি যদি পাথের অংশ হিসেবে অন্য কোনো অক্ষর না-ও থাকে।
সুতরাং, যদি ব্যাকএন্ড সার্ভারের রিকোয়েস্ট URL-এ path কম্পোনেন্ট একেবারেই না থাকে, অর্থাৎ এমনকি একটি ফরওয়ার্ড স্ল্যাশ ( / ) পর্যন্ত না থাকে, তাহলে Apigee Edge 500 Internal Server Error এবং protocol.http.EmptyPath এরর কোড দিয়ে রেসপন্স করে।
উদাহরণস্বরূপ: যদি target.url মান https://www.mocktarget.apigee.net হয়, তাহলে path কারণে এই ত্রুটিটি ঘটে। path উপাদানটি খালি বা অনুপস্থিত।
| কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য |
|---|---|---|
| ব্যাকএন্ড সার্ভারের URL (target.url)-এর পাথ খালি। | ফ্লো ভ্যারিয়েবল target.url দ্বারা নির্দেশিত ব্যাকএন্ড সার্ভার URL-এর পাথটি খালি। | এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সাধারণ রোগ নির্ণয়ের পদক্ষেপ
এই ত্রুটি নির্ণয় করতে নিম্নলিখিত সরঞ্জাম/কৌশলগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:
এপিআই মনিটরিং
পদ্ধতি #১: এপিআই মনিটরিং ব্যবহার করা
এপিআই মনিটরিং ব্যবহার করে ত্রুটি নির্ণয় করতে:
- উপযুক্ত ভূমিকা সম্পন্ন একজন ব্যবহারকারী হিসেবে Apigee Edge UI-তে সাইন ইন করুন ।
যে প্রতিষ্ঠানে আপনি বিষয়টি তদন্ত করতে চান, সেখানে যান।

- Analyze > API Monitoring > Investigate পৃষ্ঠায় যান।
- সেই নির্দিষ্ট সময়সীমাটি নির্বাচন করুন যার মধ্যে আপনি ত্রুটিগুলো লক্ষ্য করেছেন।
সময়ের সাপেক্ষে ফল্ট কোডের লেখচিত্র অঙ্কন করুন।
নিচে দেখানো অনুযায়ী, যে সেলটিতে ফল্ট কোড
protocol.http.EmptyPathআছে, সেটি নির্বাচন করুন:
ফল্ট কোড
protocol.http.EmptyPathসম্পর্কিত তথ্য নিচে দেখানো অনুযায়ী প্রদর্শিত হয়:
ব্যর্থ অনুরোধের সারিটি প্রসারিত করতে 'লগ দেখুন'-এ ক্লিক করুন।

- লগস উইন্ডো থেকে নিম্নলিখিত বিবরণগুলো নোট করুন:
- স্ট্যাটাস কোড:
500 - ত্রুটির উৎস:
target - ত্রুটি কোড:
protocol.http.EmptyPath
- স্ট্যাটাস কোড:
- যদি ফল্ট সোর্স (Fault Source)
targetএবং ফল্ট কোড (Fault Code) 'protocol.http.EmptyPathহয়, তাহলে এটি নির্দেশ করে যে ব্যাকএন্ড সার্ভারের URL-এর পাথটি খালি।
ট্রেস
পদ্ধতি #২: ট্রেস টুল ব্যবহার করা
ট্রেস টুল ব্যবহার করে ত্রুটি নির্ণয় করতে:
- ট্রেস সেশনটি সক্রিয় করুন এবং হয়
-
500 Internal Server Errorত্রুটিটি ঘটার জন্য অপেক্ষা করুন, অথবা - আপনি যদি সমস্যাটি পুনরায় তৈরি করতে পারেন,
500 Internal Server Errorসমস্যাটি পুনরায় তৈরি করতে এপিআই কলটি করুন।
-
নিশ্চিত করুন যে 'Show all FlowInfos' চালু আছে:

- ব্যর্থ হওয়া অনুরোধগুলোর মধ্যে একটি নির্বাচন করুন এবং ট্রেসটি পরীক্ষা করুন।
- ট্রেসের বিভিন্ন ধাপ অতিক্রম করে ত্রুটিটি কোথায় ঘটেছে তা খুঁজে বের করুন।
আপনি সাধারণত 'টার্গেট রিকোয়েস্ট ফ্লো স্টার্টেড' পর্যায়ের পরের ফ্লোতে ত্রুটিটি দেখতে পাবেন, যেমনটি নিচে দেখানো হয়েছে:

ট্রেস থেকে ত্রুটির মানটি নোট করুন।
ত্রুটি: অনুরোধের পথ খালি রাখা যাবে না
যেহেতু Apigee Edge 'Target Request Flow Started' পর্যায়ের পরে ত্রুটিটি দেখাচ্ছে, এটি নির্দেশ করে যে ব্যাকএন্ড সার্ভারের URL-এর
pathখালি । এমনটা হওয়ার সম্ভাবনা সবচেয়ে বেশি যদি রিকোয়েস্ট ফ্লো-এর কোনো একটি পলিসির মাধ্যমে ফ্লো ভ্যারিয়েবল 'target.url' (যা ব্যাকএন্ড সার্ভারের URL-কে নির্দেশ করে) একটি খালি পাথ দিয়ে আপডেট করা হয়ে থাকে।- প্রতিটি ফ্লো-এর 'ত্রুটির স্থান' থেকে 'টার্গেট রিকোয়েস্ট ফ্লো স্টার্টেড' পর্যায় পর্যন্ত পেছনের দিকে 'ভেরিয়েবল রিড অ্যান্ড অ্যাসাইনড' অংশটি পরীক্ষা করুন।
পলিসি নির্ধারণ করুন যেখানে ফ্লো ভেরিয়েবল
target.urlআপডেট করা হয়েছে।নমুনা ট্রেস দেখাচ্ছে যে জাভাস্ক্রিপ্ট পলিসি `
target.urlফ্লো ভেরিয়েবলটি আপডেট করেছে:
উপরে দেখানো নমুনা ট্রেসটিতে,
target.urlফ্লো ভেরিয়েবলের মানটি লক্ষ্য করুন।target.urlSetTargetURL নামক একটি জাভাস্ক্রিপ্ট পলিসিতে নিম্নলিখিতভাবে আপডেট করা হয়:target.url : https://mocktarget.apigee.net
- উল্লেখ্য যে,
target.urlনিম্নলিখিত উপাদানগুলো রয়েছে:- স্কিম:
https://mocktarget.apigee.net - পথ: খালি
- স্কিম:
- ফলে, আপনি
Request path cannot be emptyত্রুটিটি পান। - ট্রেসটিতে থাকা AX (অ্যানালিটিক্স ডেটা রেকর্ডেড) ফেজটিতে যান এবং এটিতে ক্লিক করুন।
নিচে স্ক্রল করে Phase Details - Error Headers সেকশনে যান এবং নিচে দেখানো অনুযায়ী X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান নির্ধারণ করুন:

- আপনি X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান
protocol.http.EmptyPathএবংtargetহিসেবে দেখতে পাবেন।targetযথাক্রমে, যা নির্দেশ করে যে ব্যাকএন্ড সার্ভারের URL-এর পাথটি খালি থাকার কারণে এই ত্রুটিটি ঘটেছে।প্রতিক্রিয়া হেডার মূল্য এক্স-এপিজি-ফল্ট-কোড protocol.http.EmptyPathএক্স-এপিজি-ফল্ট-সোর্স target
এনজিআইএনএক্স
পদ্ধতি #৩: NGINX অ্যাক্সেস লগ ব্যবহার করা
NGINX অ্যাক্সেস লগ ব্যবহার করে ত্রুটি নির্ণয় করতে:
- আপনি যদি একজন প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে HTTP
500 Internal Server Errorসম্পর্কিত মূল তথ্য নির্ধারণ করতে NGINX অ্যাক্সেস লগ ব্যবহার করতে পারেন। NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_log- একটি নির্দিষ্ট সময়কালে (যদি সমস্যাটি অতীতে ঘটে থাকে)
protocol.http.EmptyPathএরর কোড সহ কোনো500এরর আছে কিনা, অথবা এখনও কোনো রিকোয়েস্ট500দেখিয়ে ফেইল করছে কিনা, তা খুঁজে দেখুন। যদি আপনি
protocol.http.EmptyPathএর মানের সাথে মিলে যাওয়া X-Apigee-fault-code সহ কোনো500এরর খুঁজে পান, তাহলে X-Apigee-fault-source-এর মান নির্ধারণ করুন।NGINX অ্যাক্সেস লগ থেকে প্রাপ্ত 500 ত্রুটির একটি নমুনা:

NGINX অ্যাক্সেস লগ থেকে নেওয়া উপরের নমুনা এন্ট্রিটিতে X-Apigee-fault-code এবং X-Apigee-fault-source-এর জন্য নিম্নলিখিত মানগুলি রয়েছে:
হেডার মূল্য এক্স-এপিজি-ফল্ট-কোড protocol.http.EmptyPathএক্স-এপিজি-ফল্ট-সোর্স targetলক্ষ্য করুন যে X-Apigee-fault-code এবং X-Apigee-fault-source- এর মান হলো
protocol.http.EmptyPathএবংtargetযথাক্রমে, যা নির্দেশ করে যে ব্যাকএন্ড সার্ভারের URL-এর পাথটি খালি থাকার কারণে এই ত্রুটিটি ঘটেছে।
কারণ: ব্যাকএন্ড সার্ভারের URL (target.url)-এর পাথ খালি।
রোগ নির্ণয়
- সাধারণ ডায়াগনোসিস ধাপগুলিতে ব্যাখ্যা করা অনুযায়ী API মনিটরিং, ট্রেস টুল বা NGINX অ্যাক্সেস লগ ব্যবহার করে
500 Internal Server Errorজন্য ফল্ট কোড এবং ফল্ট সোর্স নির্ধারণ করুন। - যদি ফল্ট কোড
protocol.http.EmptyPathহয় এবং ফল্ট সোর্সের মানtargetহয়, তাহলে এটি নির্দেশ করে যে ব্যাকএন্ড সার্ভারের URL-এর পাথটি খালি । Apigee Edge-এ ব্যাকএন্ড সার্ভার URL-টি
target.urlফ্লো ভেরিয়েবল দ্বারা নির্দেশিত হয়। এই ত্রুটিটি সাধারণত তখন ঘটে, যখন আপনি টার্গেট রিকোয়েস্ট ফ্লো-এর মধ্যে থাকা কোনো পলিসি (প্রক্সি/শেয়ার্ড ফ্লো-এর অধীনে) ব্যবহার করে ব্যাকএন্ড সার্ভার URL, অর্থাৎtarget.urlডায়নামিকভাবে আপডেট করার চেষ্টা করেন, যাতে এর পাথটি খালি থাকে।- নিম্নলিখিত ধাপগুলির মধ্যে একটি ব্যবহার করে নির্ধারণ করুন যে ফ্লো ভেরিয়েবল
target.urlএর পাথটি সত্যিই খালি কিনা এবং এর মানের উৎস কী:ট্রেস
ট্রেস টুল ব্যবহার করে
আপনি যদি এই ত্রুটির জন্য একটি ট্রেস সংগ্রহ করে থাকেন, তাহলে "ট্রেস টুল ব্যবহার" অংশে বর্ণিত পদক্ষেপগুলি অনুসরণ করুন এবং:
-
target.urlপাথটি খালি কিনা তা যাচাই করুন। যদি হ্যাঁ হয়, তাহলে খুঁজে বের করুন কোন পলিসি
target.urlএর মান পরিবর্তন বা আপডেট করে তাতে একটি খালি পাথ যুক্ত করেছে।নমুনা ট্রেস দেখাচ্ছে যে জাভাস্ক্রিপ্ট পলিসি `
target.url:
- উপরের নমুনা ট্রেসটিতে লক্ষ্য করুন যে, জাভাস্ক্রিপ্ট পলিসিটি
target.urlএর মান পরিবর্তন বা আপডেট করে একটি খালি পাথ অন্তর্ভুক্ত করেছে। - উল্লেখ্য যে,
target.urlনিম্নলিখিত উপাদানগুলো রয়েছে:- স্কিম:
https://mocktarget.apigee.net - পথ: খালি
- স্কিম:
লগ
আপনার লগ সার্ভারে লগ ব্যবহার করা
- যদি এই ত্রুটির (যা একটি অনিয়মিত সমস্যা) কোনো ট্রেস আপনার কাছে না থাকে, তাহলে পরীক্ষা করে দেখুন যে আপনি MessageLogging বা ServiceCallout-এর মতো পলিসি ব্যবহার করে আপনার লগ সার্ভারে
target.urlফ্লো ভ্যারিয়েবলের মান সম্পর্কিত তথ্য লগ করেছেন কি না। - আপনার কাছে লগগুলো থাকলে, সেগুলো পর্যালোচনা করুন এবং:
-
target.urlপাথটি খালি কিনা তা যাচাই করুন, এবং - দেখুন তো আপনি নির্ধারণ করতে পারেন কিনা কোন পলিসি
target.urlপরিবর্তন করে একটি খালি পাথ অন্তর্ভুক্ত করেছে।
-
এপিআই প্রক্সি
ব্যর্থ এপিআই প্রক্সি পর্যালোচনা করা হচ্ছে
এই ত্রুটির কোনো ট্রেস বা লগ আপনার কাছে না থাকলে, ব্যর্থ হওয়া এপিআই প্রক্সিটি পর্যালোচনা করে দেখুন কী কারণে
target.urlফ্লো ভ্যারিয়েবলটি পরিবর্তিত বা আপডেট হয়ে একটি অবৈধ পাথ ধারণ করেছে। নিম্নলিখিত বিষয়গুলো যাচাই করুন:- এপিআই প্রক্সির ভেতরের নীতি
- প্রক্সি থেকে আহ্বান করা যেকোনো শেয়ার্ড ফ্লো
-
যে নির্দিষ্ট পলিসিটি (যেমন, AssignMessage বা JavaScript)
target.urlফ্লো ভ্যারিয়েবলটিকে পরিবর্তন বা আপডেট করে, সেটি সতর্কতার সাথে পরীক্ষা করুন এবংtarget.urlপাথ খালি হয়ে যাওয়ার কারণ নির্ণয় করুন।এখানে কয়েকটি উদাহরণ পলিসি দেওয়া হল, যেগুলো
target.urlফ্লো ভেরিয়েবলটিকে ভুলভাবে একটি খালি পাথ দিয়ে আপডেট করে, যার ফলে এই ত্রুটিটি ঘটে।নমুনা #১
নমুনা #১: জাভাস্ক্রিপ্ট পলিসি
target.urlভেরিয়েবল আপডেট করছেvar url = "https://mocktarget.apigee.net" context.setVariable("target.url", url);
উপরের নমুনাটিতে লক্ষ্য করুন যে,
target.urlফ্লো ভ্যারিয়েবলটি `urlআরেকটি ভ্যারিয়েবলে থাকাhttps://mocktarget.apigee.netমানটি দিয়ে আপডেট করা হয়েছে।উল্লেখ্য যে,
target.urlনিম্নলিখিত উপাদানগুলো রয়েছে:- স্কিম:
https://mocktarget.apigee.net - পথ: খালি
পাথটি খালি থাকায়, Apigee Edge
500 Internal Server Errorরিটার্ন করে এবং এরর কোড হিসেবেprotocol.http.EmptyPath।নমুনা #২
নমুনা #২: জাভাস্ক্রিপ্ট পলিসি
target.urlভেরিয়েবল আপডেট করছেvar path = context.getVariable("request.header.Path"); var url = "https://mocktarget.apigee.net" + path context.setVariable("target.url", url);
উপরের নমুনাটিতে লক্ষ্য করুন যে, `
urlএকটি ভেরিয়েবলে থাকা `https://mocktarget.apigee.netমানটি সংযুক্ত করেtarget.urlফ্লো ভেরিয়েবলটি আপডেট করা হয়েছে।urlএবংpathনামক আরেকটি ভেরিয়েবলের মান, যার মানrequest.header.Path .আপনার কাছে যদি প্রকৃত অনুরোধ বা ট্রেস-এর অ্যাক্সেস থাকে, তাহলে আপনি
request.header.Pathএ পাঠানো আসল মানটি যাচাই করতে পারবেন।ব্যবহারকারীর করা নমুনা অনুরোধ:
curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token>
এই উদাহরণে, রিকোয়েস্টের অংশ হিসেবে হেডার পাথ পাঠানো হয় না। তাই, জাভাস্ক্রিপ্ট পলিসিতে থাকা 'path' ভ্যারিয়েবলের মান
null।সুতরাং:
-
url = https://mocktarget.apigee.net + path -
url = https://mocktarget.apigee.net + null -
target.url = https://mocktarget.apigee.netnull
উল্লেখ্য যে,
target.urlনিম্নলিখিত উপাদানগুলো রয়েছে:- স্কিম:
https://mocktarget.apigee.netnull - পথ: খালি
নমুনা #৩
নমুনা #৩: AssignMessage পলিসি অন্য একটি ভেরিয়েবলের মাধ্যমে
target.urlভেরিয়েবল আপডেট করছে<AssignMessage async="false" continueOnError="false" enabled="true" name=">AM-SetTargetURL"> <DisplayName>AM-SetTargetURL</DisplayName> <AssignVariable> <Name>target.url</Name> <Value>https://mocktarget.apigee.net</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
উল্লেখ্য যে,
target.urlনিম্নলিখিত উপাদানগুলো রয়েছে:- স্কিম:
https://mocktarget.apigee.net - পথ: খালি
উপরের সব উদাহরণে, ব্যাকএন্ড সার্ভার URL-এর পাথ, অর্থাৎ
target.url, খালি থাকায় Apigee Edge,protocol.http.EmptyPathএরর কোড সহ500 Internal Server Errorরিটার্ন করে।- স্কিম:
সমাধান
RFC 3986 স্পেসিফিকেশনের ২ নং সেকশন: সিনট্যাক্স কম্পোনেন্টস অনুযায়ী, path কম্পোনেন্টটি আবশ্যক এবং এতে অবশ্যই একটি ফরওয়ার্ড স্ল্যাশ (/) থাকতে হবে, এমনকি যদি path অংশ হিসেবে অন্য কোনো অক্ষর না-ও থাকে। এই সমস্যাটি সমাধান করতে নিম্নলিখিত ধাপগুলো অনুসরণ করুন:
- নিশ্চিত করুন যে ফ্লো ভেরিয়েবল
target.urlদ্বারা নির্দেশিত ব্যাকএন্ড সার্ভার URL-এর পাথ সর্বদা খালি নয় ।- কিছু ক্ষেত্রে, পাথে কোনো রিসোর্সের নাম নাও থাকতে পারে, সেক্ষেত্রে নিশ্চিত করুন যে পাথে অন্তত একটি ফরওয়ার্ড স্ল্যাশ (
/) আছে। - যদি আপনি
target.urlফ্লো ভেরিয়েবলের মান নির্ধারণ করতে অন্য কোনো ভেরিয়েবল ব্যবহার করেন, তাহলে নিশ্চিত করুন যে সেই ভেরিয়েবলগুলোর পাথ খালি নয়। - যদি আপনি
target.urlফ্লো ভ্যারিয়েবলের মান নির্ধারণ করতে কোনো স্ট্রিং অপারেশন করেন, তাহলে নিশ্চিত করুন যে স্ট্রিং অপারেশনটির ফলাফলে কোনো খালি পাথ নেই।
- কিছু ক্ষেত্রে, পাথে কোনো রিসোর্সের নাম নাও থাকতে পারে, সেক্ষেত্রে নিশ্চিত করুন যে পাথে অন্তত একটি ফরওয়ার্ড স্ল্যাশ (
- ডায়াগনোসিস অংশে আলোচিত নমুনাগুলোতে, আপনি নিচে বর্ণিত পদ্ধতি অনুযায়ী এই সমস্যাটি সমাধান করতে পারেন:
নমুনা #১
নমুনা #১: জাভাস্ক্রিপ্ট পলিসি
target.urlভেরিয়েবল আপডেট করছেএই সমস্যাটি সমাধান করতে, নিচে দেখানো অনুযায়ী
urlভেরিয়েবলের শেষে একটি ফরওয়ার্ড স্ল্যাশ (/) যোগ করুন:var url = "https://mocktarget.apigee.net/" context.setVariable("target.url", url);
নমুনা #২
নমুনা #২: জাভাস্ক্রিপ্ট পলিসি
target.urlভেরিয়েবল আপডেট করছেvar path = context.getVariable("request.header.Path"); var url = "https://mocktarget.apigee.net" + path context.setVariable("target.url", url);
এই সমস্যাটি সমাধান করতে, নিচে দেখানো পদ্ধতি অনুযায়ী রিকোয়েস্ট হেডার
Pathঅংশ হিসেবে একটি বৈধ পাথ (যেমন,/iloveapisপ্রদান করুন।নমুনা অনুরোধ:
curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token> -H "Path: /iloveapis"
নমুনা #৩
নমুনা #৩: AssignMessage পলিসি অন্য একটি ভেরিয়েবলের মাধ্যমে
target.urlভেরিয়েবল আপডেট করছেAssignMessage পলিসির
<Value>এলিমেন্টে একটি বৈধ পাথ যোগ করুন। উদাহরণস্বরূপ, আপনি/jsonব্যবহার করতে পারেন।/jsonMockTarget API- এর পাথ হিসেবে, অর্থাৎ, নিচে দেখানো অনুযায়ী<Value>এলিমেন্টটিকেhttps://mocktarget.apigee.net/jsonএ পরিবর্তন করুন:<AssignMessage async="false" continueOnError="false" enabled="true" name="AM-SetTargetURL"> <DisplayName>AM-SetTargetURL</DisplayName> <AssignVariable> <Name>target.url</Name> <Value>https://mocktarget.apigee.net/json</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
স্পেসিফিকেশন
Apigee Edge আশা করে যে, নিম্নলিখিত স্পেসিফিকেশন অনুযায়ী ব্যাকএন্ড সার্ভার URL-এর পাথটি খালি থাকবে না :
| স্পেসিফিকেশন |
|---|
| RFC 3986, ধারা ৩: সিনট্যাক্স উপাদানসমূহ |
| RFC 3986, ধারা ৩.৩: পথ |
আপনার যদি এখনও Apigee Support-এর কাছ থেকে কোনো সাহায্যের প্রয়োজন হয়, তাহলে Must gather diagnostic information- এ যান।
রোগ নির্ণয়ের তথ্য অবশ্যই সংগ্রহ করতে হবে
উপরোক্ত নির্দেশাবলী অনুসরণ করার পরেও যদি সমস্যাটি থেকে যায়, তাহলে নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন এবং তারপর Apigee Edge Support-এর সাথে যোগাযোগ করুন।
আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্যগুলো প্রদান করুন:
- সংস্থার নাম
- পরিবেশের নাম
- এপিআই প্রক্সি নাম
-
protocol.http.EmptyPathএরর কোড সহ500 Internal Server Errorটি পুনরুৎপাদন করতে ব্যবহৃত সম্পূর্ণ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