আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
উপসর্গ
ক্লায়েন্ট অ্যাপ্লিকেশনটি API কলগুলির প্রতিক্রিয়া হিসাবে ত্রুটি কোড protocol.http.BadPath
.http.BadPath সহ 500 Internal Server Error
একটি HTTP স্ট্যাটাস কোড পায়।
ত্রুটি বার্তা
ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত প্রতিক্রিয়া কোড পায়:
HTTP/1.1 500 Internal Server Error
উপরন্তু, আপনি নিম্নলিখিত ত্রুটি বার্তা পর্যবেক্ষণ করতে পারেন:
{ "fault":{ "faultstring":"Invalid request path", "detail":{ "errorcode":"protocol.http.BadPath" } } }
সম্ভাব্য কারণ
এই ত্রুটিটি ঘটে যদি ব্যাকএন্ড সার্ভারের অনুরোধ URL, ফ্লো ভেরিয়েবল target.url
দ্বারা উপস্থাপিত, একটি path
থাকে path
যেটি ফরওয়ার্ড স্ল্যাশ ( /
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন ( ?
) দিয়ে শুরু হয়, যা অবৈধ ।
স্পেসিফিকেশন অনুযায়ী RFC 3986, বিভাগ 3: সিনট্যাক্স উপাদান এবং RFC 3986, বিভাগ 3.3: পথ :
URI সিনট্যাক্সের নিম্নলিখিত উপাদান রয়েছে:
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment
path
কম্পোনেন্ট প্রয়োজন এবং এটি অবশ্যই ফরোয়ার্ড স্ল্যাশ (/
) দিয়ে শুরু করতে হবে।
অতএব, যদি ব্যাকএন্ড সার্ভারের অনুরোধ URL-এ ফরোয়ার্ড স্ল্যাশ ( /
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন ( ?
) দিয়ে শুরু করে একটি path
উপাদান থাকে, তাহলে Apigee Edge 500 Internal Server Error
এবং ত্রুটি কোড protocol.http.BadPath
http.BadPath সহ প্রতিক্রিয়া জানায়।
উদাহরণস্বরূপ: যদি target.url
মান https://www.mocktarget.apigee.net?json
থাকে, তাহলে এই ত্রুটিটি ঘটে কারণ path
অবৈধ বলে পাওয়া যায়, যেহেতু এটি একটি প্রশ্ন চিহ্ন ( ?
) এর পরিবর্তে শুরু হয় একটি ফরোয়ার্ড স্ল্যাশ ( /
)
কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য |
---|---|---|
ব্যাকএন্ড সার্ভার URL (target.url) এর একটি অবৈধ পথ রয়েছে৷ | ফ্লো ভেরিয়েবল target.url দ্বারা উপস্থাপিত ব্যাকএন্ড সার্ভার URL-এর পাথ কম্পোনেন্ট ফরওয়ার্ড স্ল্যাশ ( / ) এর পরিবর্তে একটি প্রশ্ন চিহ্ন ( ? ) দিয়ে শুরু হয়। | এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সাধারণ রোগ নির্ণয়ের পদক্ষেপ
এই ত্রুটি নির্ণয় করতে নিম্নলিখিত সরঞ্জাম/কৌশলগুলির মধ্যে একটি ব্যবহার করুন:
API মনিটরিং
পদ্ধতি #1: API মনিটরিং ব্যবহার করা
API মনিটরিং ব্যবহার করে ত্রুটি নির্ণয় করতে:
- Apigee Edge UI এ একটি উপযুক্ত ভূমিকা সহ ব্যবহারকারী হিসাবে সাইন ইন করুন৷
আপনি যে সংস্থায় সমস্যাটি তদন্ত করতে চান সেখানে যান।
- এনালাইজ > API মনিটরিং > ইনভেস্টিগেট পেজে নেভিগেট করুন।
- নির্দিষ্ট সময়সীমা নির্বাচন করুন যেখানে আপনি ত্রুটিগুলি পর্যবেক্ষণ করেছেন।
সময়ের বিরুদ্ধে প্লট ফল্ট কোড ।
ফল্ট কোড
protocol.http.BadPath
আছে এমন একটি সেল নির্বাচন করুন। http.BadPath নীচে দেখানো হয়েছে:ফল্ট কোড
protocol.http.BadPath
সম্পর্কে তথ্য.http.BadPath নীচে দেখানো হয়েছে:লগ দেখুন ক্লিক করুন এবং ব্যর্থ অনুরোধের জন্য সারি প্রসারিত করুন।
- লগ উইন্ডো থেকে, নিম্নলিখিত বিবরণ নোট করুন:
- স্ট্যাটাস কোড:
500
- ফল্ট উত্স:
target
- ফল্ট কোড:
protocol.http.BadPath
- স্ট্যাটাস কোড:
- যদি ফল্ট সোর্স
target
হয় এবং ফল্ট কোডটি হয়protocol.http.BadPath
, তাহলে এটি নির্দেশ করে যে ব্যাকএন্ড সার্ভার URL এর একটি অবৈধ পথ রয়েছে৷
ট্রেস
পদ্ধতি #2: ট্রেস টুল ব্যবহার করে
ট্রেস টুল ব্যবহার করে ত্রুটি নির্ণয় করতে:
- ট্রেস সেশন সক্রিয় করুন এবং হয়
-
500 Internal Server Error
ত্রুটি ঘটতে অপেক্ষা করুন, অথবা - আপনি যদি সমস্যাটি পুনরুত্পাদন করতে পারেন, তাহলে সমস্যাটি পুনরুত্পাদন করতে API কল করুন
500 Internal Server Error
-
সমস্ত ফ্লোইনফোস সক্ষম করা আছে তা নিশ্চিত করুন:
- ব্যর্থ অনুরোধগুলির একটি নির্বাচন করুন এবং ট্রেস পরীক্ষা করুন।
- ট্রেসের বিভিন্ন পর্যায়ে নেভিগেট করুন এবং কোথায় ব্যর্থতা ঘটেছে তা সনাক্ত করুন।
লক্ষ্য অনুরোধের প্রবাহ শুরু হওয়ার পর একটি ফ্লোতে আপনি ত্রুটিটি দেখতে পাবেন যা নীচে দেখানো হয়েছে:
ট্রেস থেকে ত্রুটির মান নোট করুন:
ত্রুটি: অবৈধ অনুরোধের পথ
যেহেতু টার্গেট রিকোয়েস্ট ফ্লো স্টার্টেড পর্বের পরে Apigee Edge দ্বারা ত্রুটিটি উত্থাপিত হয়েছে, তাই এটি নির্দেশ করে যে ব্যাকএন্ড সার্ভার URL-এর একটি অবৈধ পথ রয়েছে। এটি সম্ভবত ঘটতে পারে যদি Apigee Edge-এ ফ্লো ভেরিয়েবল
target.url
(যা ব্যাকএন্ড সার্ভারের জন্য URL প্রতিনিধিত্ব করে) টার্গেট রিকোয়েস্ট ফ্লোতে কোনো একটি নীতির মাধ্যমে একটি অবৈধ পথ দিয়ে আপডেট করা হয়।- ত্রুটির প্রবাহ থেকে টার্গেট রিকোয়েস্ট ফ্লো স্টার্টেড ফেজের দিকে প্রতিটি ফ্লোতে ভেরিয়েবল রিড এবং অ্যাসাইন করা বিভাগটি পরীক্ষা করুন।
- নীতি নির্ধারণ করুন, যেখানে প্রবাহ পরিবর্তনশীল
target.url
আপডেট করা হয়েছে:জাভাস্ক্রিপ্ট নীতি দেখানো নমুনা ট্রেস ফ্লো পরিবর্তনশীল
target.url:
উপরে দেখানো নমুনা ট্রেসে, লক্ষ্য করুন ফ্লো ভেরিয়েবল ভ্যারিয়েবল
target.url
এর মানJS- SetTargetURL
নামে একটি জাভাস্ক্রিপ্ট নীতিতে আপডেট করা হয়েছে নিম্নরূপ:target.url : https://mocktarget.apigee.net?json
- লক্ষ্য করুন যে
target.url
এর মানটিতে নিম্নলিখিত উপাদান রয়েছে:- স্কিম:
https
- কর্তৃপক্ষ:
mocktarget.apigee.net
- পথ:?
?json
- স্কিম:
- যেহেতু পাথ উপাদানটি ফরওয়ার্ড স্ল্যাশ (
/
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন (?
) দিয়ে শুরু হয়, তাই আপনিInvalid request path
ত্রুটিটি পান। - ট্রেসে AX (Analytics Data Recorded) ফেজে নেভিগেট করুন এবং এটিতে ক্লিক করুন।
ফেজ বিশদ - ত্রুটি শিরোনাম বিভাগে নীচে স্ক্রোল করুন এবং নীচে দেখানো হিসাবে X-Apigee-fault-code এবং X-Apigee-fault-source এর মান নির্ধারণ করুন:
আপনি
protocol.http.BadPath
হিসাবে X-Apigee-fault-code এবং X-Apigee-fault-source এর মান দেখতে পাবেন। http.BadPath এবংtarget
যথাক্রমে, ব্যাকএন্ড সার্ভার URL-এর একটি অবৈধ পথ থাকার কারণে এই ত্রুটিটি হয়েছে তা নির্দেশ করে।প্রতিক্রিয়া শিরোনাম মান এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.BadPath
এক্স-অ্যাপিজি-ফল্ট-উৎস target
এনজিআইএনএক্স
পদ্ধতি #3: NGINX অ্যাক্সেস লগ ব্যবহার করে
NGINX অ্যাক্সেস লগ ব্যবহার করে ত্রুটি নির্ণয় করতে:
- আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি HTTP
500 Internal Server Error
সম্পর্কে মূল তথ্য নির্ধারণ করতে NGINX অ্যাক্সেস লগ ব্যবহার করতে পারেন। NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_log
- ত্রুটি কোড
protocol.http.BadPath
এর সাথে কোনো500
ত্রুটি আছে কিনা তা দেখতে অনুসন্ধান করুন একটি নির্দিষ্ট সময়কালে (যদি সমস্যাটি অতীতে ঘটে থাকে) অথবা500
এর সাথে কোনো অনুরোধ এখনও ব্যর্থ হয় কিনা। আপনি যদি X-Apigee-fault-code-এর সাথে
protocol.http.BadPath
এর মানের সাথে500
ত্রুটি খুঁজে পান, তাহলে X- Apigee-fault-source-এর মান নির্ধারণ করুন।NGINX অ্যাক্সেস লগ থেকে নমুনা 500 ত্রুটি:
NGINX অ্যাক্সেস লগ থেকে উপরের নমুনা এন্ট্রিতে X-Apigee- ফল্ট-কোড এবং X-Apigee-ফল্ট-সোর্সের জন্য নিম্নলিখিত মান রয়েছে:
হেডার মান এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.BadPath
এক্স-অ্যাপিজি-ফল্ট-উৎস target
লক্ষ্য করুন যে X-Apigee-fault-code এবং X-Apigee-fault-source এর মান হল
protocol.http.BadPath
এবংtarget
যথাক্রমে, ব্যাকএন্ড সার্ভার URL-এর একটি অবৈধ পথ থাকার কারণে এই ত্রুটিটি হয়েছে তা নির্দেশ করে।
কারণ: ব্যাকএন্ড সার্ভার URL (target.url) এর একটি অবৈধ পথ রয়েছে৷
রোগ নির্ণয়
- এপিআই মনিটরিং, ট্রেস টুল বা এনজিআইএনএক্স অ্যাক্সেস লগ ব্যবহার করে
500 Internal Server Error
জন্য ফল্ট কোড এবং ফল্ট উত্স নির্ধারণ করুন যা সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে। - যদি ফল্ট কোড
protocol.http.BadPath
target
। ব্যাকএন্ড সার্ভার URL Apigee Edge-এ ফ্লো ভেরিয়েবল
target.url
দ্বারা প্রতিনিধিত্ব করা হয়। এই ত্রুটিটি সাধারণত ঘটবে যদি আপনি ব্যাকএন্ড সার্ভার URL (target.url
) গতিশীলভাবে টার্গেট রিকোয়েস্ট ফ্লোতে (প্রক্সি/শেয়ার করা প্রবাহের মধ্যে) ব্যবহার করে আপডেট করার চেষ্টা করেন, যেমন এটির একটি অবৈধ পথ রয়েছে।ফ্লো ভেরিয়েবল
target.url
প্রকৃতপক্ষে একটি অবৈধ পথ এবং এর মানের উৎস আছে কিনা তা নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে নির্ধারণ করুন:ট্রেস
ট্রেস টুল ব্যবহার করে
আপনি যদি এই ত্রুটির জন্য একটি ট্রেস ক্যাপচার করে থাকেন, তাহলে ট্রেস টুল ব্যবহারে ব্যাখ্যা করা ধাপগুলি ব্যবহার করুন এবং
-
target.url
একটি অবৈধ পথ আছে কিনা তা যাচাই করুন, অর্থাৎ যদি এটি ফরওয়ার্ড স্ল্যাশ (/
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন (?
) দিয়ে শুরু হয়। যদি হ্যাঁ, তাহলে সেই নীতিটি খুঁজে বের করুন যা একটি অবৈধ পথ ধারণ করতে
target.url
এর মান পরিবর্তন বা আপডেট করেছে৷জাভাস্ক্রিপ্ট নীতি দেখানো নমুনা ট্রেস ফ্লো ভেরিয়েবল
target.url
আপডেট করেছে- উপরের নমুনা ট্রেসে, লক্ষ্য করুন যে JavaScript নীতি একটি অবৈধ পথ ধারণ করতে
target.url
এর মান পরিবর্তন বা আপডেট করেছে। - লক্ষ্য করুন যে
target.url
নিম্নলিখিত উপাদান রয়েছে:- স্কিম:
https
- কর্তৃপক্ষ:
mocktarget.apigee.net
- পথ:?
?json
পথটি ফরোয়ার্ড স্ল্যাশ (
/
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন (?
) দিয়ে শুরু হয় , তাই এটি অবৈধ। - স্কিম:
লগ
আপনার লগ সার্ভারে লগ ব্যবহার করে
- যদি আপনার কাছে এই ত্রুটির জন্য একটি ট্রেস না থাকে (একটি অন্তর্বর্তী সমস্যা), তাহলে আপনি আপনার লগ সার্ভারে MessageLogging বা ServiceCallout নীতির মতো নীতিগুলি ব্যবহার করে ফ্লো ভেরিয়েবল
target.url
এর মান সম্পর্কে তথ্য লগ করেছেন কিনা তা পরীক্ষা করুন৷ - আপনি লগ আছে, তাদের পর্যালোচনা এবং
-
target.url
একটি অবৈধ পথ আছে কিনা যাচাই করুন, এবং - কোন নীতিতে পরিবর্তিত
target.url
অবৈধ পাথ থাকবে সে সম্পর্কে আপনি তথ্য নির্ধারণ করতে পারেন কিনা দেখুন
-
API প্রক্সি
ব্যর্থ API প্রক্সি পর্যালোচনা করা হচ্ছে
যদি আপনার কাছে এই ত্রুটির জন্য কোনো ট্রেস বা লগ না থাকে, তাহলে একটি অবৈধ পাথ ধারণ করতে ফ্লো ভেরিয়েবল
target.url
কী পরিবর্তন বা আপডেট করা হয়েছে তা নির্ধারণ করতে ব্যর্থ API প্রক্সি পর্যালোচনা করুন। নিম্নলিখিত পরীক্ষা করুন:- API প্রক্সির মধ্যে নীতি
- প্রক্সি থেকে আমন্ত্রিত কোনো ভাগ করা প্রবাহ
-
নির্দিষ্ট নীতিটি সাবধানে পরীক্ষা করুন (উদাহরণস্বরূপ: AssignMessage বা JavaScript) যা ফ্লো ভেরিয়েবল
target.url
সংশোধন বা আপডেট করে এবং একটি অবৈধ পথ থাকার জন্যtarget.url
আপডেট করার কারণ নির্ধারণ করে।এখানে কয়েকটি উদাহরণ নীতি রয়েছে যা ফ্লো ভেরিয়েবল
target.url
ভুলভাবে আপডেট করে যাতে এই ত্রুটির জন্য একটি অবৈধ পথ থাকে।নমুনা #1
নমুনা #1: JavaScript পলিসি আপডেট করা
target.url
ভেরিয়েবলvar url = "https://mocktarget.apigee.net?json" context.setVariable("target.url", url);
উপরের নমুনায়, লক্ষ্য করুন যে ফ্লো ভেরিয়েবল
target.url
অন্য একটি পরিবর্তনশীলurl .
এ থাকাhttps://mocktarget.apigee.net?json
মান দিয়ে আপডেট করা হয়েছে।উল্লেখ্য যে
url
এর মান নিম্নলিখিত উপাদান আছে:- স্কিম:
https
- কর্তৃপক্ষ:
mocktarget.apigee.net
- পথ:?
?json
পথটি ফরওয়ার্ড স্ল্যাশ (
/
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন (?
) দিয়ে শুরু হয় , যা অবৈধ । অতএব, Apigee Edge ত্রুটি কোডprotocol.http.BadPath
সহ500 Internal Server Error
প্রদান করে।http.BadPath।নমুনা #2
নমুনা #2: অনুরোধ শিরোনামের মানের উপর ভিত্তি করে JavaScript পলিসি আপডেট করা
target.url
ভেরিয়েবলvar path = context.getVariable("request.header.Path"); var url = "https://mocktarget.apigee.net" + path context.setVariable("target.url", url);
উপরের নমুনায়, লক্ষ্য করুন যে ফ্লো ভেরিয়েবল
target.url
আপডেট করা হয়েছে একটি ভেরিয়েবলurl
এ থাকাhttps://mocktarget.apigee.net
মানটিকে সংযুক্ত করেurl
এবং অন্য একটি পরিবর্তনশীলpath
মান, যার মানrequest.header.Path .
আপনার যদি প্রকৃত অনুরোধ বা ট্রেস অ্যাক্সেস থাকে, তাহলে আপনি
request.header.Path
এ পাস করা প্রকৃত মান যাচাই করতে পারেন।ব্যবহারকারী দ্বারা তৈরি নমুনা অনুরোধ
curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token> -H "Path: ?user"
এই উদাহরণে, হেডার পাথ অনুরোধের অংশ হিসাবে পাঠানো হয় না। অতএব, জাভাস্ক্রিপ্ট নীতিতে পরিবর্তনশীল
path
মান হলnull
।তাই:
-
url = https://mocktarget.apigee.net + path
-
url = https://mocktarget.apigee.net + "?user"
-
target.url = https://mocktarget.apigee.net?user
লক্ষ্য করুন যে
target.url
এর মান , নিম্নলিখিত উপাদান আছে:- স্কিম:
https
- কর্তৃপক্ষ:
mocktarget.apigee.net
- পথ:
?user
পথটি ফরওয়ার্ড স্ল্যাশ (
/
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন (?
) দিয়ে শুরু হয় , যা অবৈধ । তাই, Apigee Edge ত্রুটি কোডprotocol.http.BadPath
সহ500 Internal Server Error
প্রদান করে।http.BadPath।নমুনা #3
নমুনা #3: অ্যাসাইনমেসেজ পলিসি আপডেট করা
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?echo</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
লক্ষ্য করুন যে
url
এর মান , এর নিম্নলিখিত উপাদান রয়েছে:- স্কিম:
https
- কর্তৃপক্ষ:
mocktarget.apigee.net
- পথ:?
?echo
আবার এই উদাহরণে, পথটি ফরওয়ার্ড স্ল্যাশ (
/
) এর পরিবর্তে একটি প্রশ্ন চিহ্ন (?
) দিয়ে শুরু হয় , যা অবৈধ । অতএব, Apigee Edge ত্রুটি কোডprotocol.http.BadPath
সহ500 Internal Server Error
প্রদান করে।http.BadPath।- স্কিম:
রেজোলিউশন
ইউআরএল স্পেসিফিকেশন RFC 3986, বিভাগ 3: সিনট্যাক্স কম্পোনেন্টস অনুযায়ী, path
কম্পোনেন্ট প্রয়োজন এবং এটি সর্বদা "/" দিয়ে শুরু হতে হবে। তাই এই সমস্যাটি সমাধান করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:
- নিশ্চিত করুন যে ব্যাকএন্ড সার্ভার URL, ফ্লো ভেরিয়েবল
target.url
দ্বারা উপস্থাপিত সর্বদা একটি বৈধ পথ থাকে এবং এটি সর্বদা একটি ফরোয়ার্ড স্ল্যাশ (/
) দিয়ে শুরু হয় ।- কিছু ক্ষেত্রে, আপনার পাথে কোনো সম্পদের নাম নাও থাকতে পারে, তারপর নিশ্চিত করুন যে পাথটিতে অন্তত একটি ফরোয়ার্ড স্ল্যাশ (
/
) আছে। - আপনি যদি ফ্লো ভেরিয়েবল
target.url
এর মান নির্ধারণ করতে অন্য কোনো ভেরিয়েবল ব্যবহার করেন, তাহলে নিশ্চিত করুন যে অন্যান্য ভেরিয়েবলের কোনো অবৈধ পথ নেই। - আপনি যদি ফ্লো ভেরিয়েবল
target.url
এর মান নির্ধারণ করতে কোনো স্ট্রিং অপারেশন করেন, তাহলে নিশ্চিত করুন যে স্ট্রিং অপারেশনের ফলাফল বা ফলাফলের কোনো অবৈধ পথ নেই।
- কিছু ক্ষেত্রে, আপনার পাথে কোনো সম্পদের নাম নাও থাকতে পারে, তারপর নিশ্চিত করুন যে পাথটিতে অন্তত একটি ফরোয়ার্ড স্ল্যাশ (
উপরে আলোচনা করা নমুনাগুলিতে, আপনি নীচের ব্যাখ্যা অনুযায়ী এই সমস্যাটি ঠিক করতে পারেন:
নমুনা #1
নমুনা #1: JavaScript পলিসি আপডেট করা
target.url
ভেরিয়েবলএই সমস্যাটি ঠিক করার জন্য ভেরিয়েবল
url
একটি প্রশ্ন চিহ্ন (?
) এর পরিবর্তে একটি ফরোয়ার্ড স্ল্যাশ (/
) ব্যবহার করুন যা নীচে দেখানো হয়েছে:var url = "https://mocktarget.apigee.net/json" context.setVariable("target.url", url);
নমুনা #2
নমুনা #2: অনুরোধ শিরোনামের মানের উপর ভিত্তি করে JavaScript পলিসি আপডেট করা
target.url
ভেরিয়েবলvar path = context.getVariable("request.header.Path"); var url = "https://mocktarget.apigee.net" + path context.setVariable("target.url", url);
নিশ্চিত করুন যে আপনি একটি বৈধ পথ পাস করেছেন, উদাহরণস্বরূপ:
/user
অনুরোধ শিরোনামPath
অংশ হিসাবে এই সমস্যাটি সমাধান করার জন্য নীচে দেখানো হয়েছে:নমুনা অনুরোধ:
curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token> -H "Path: /user"
নমুনা #3
নমুনা #3: অ্যাসাইনমেসেজ পলিসি আপডেট করা
target.url
ভেরিয়েবলAssignMessage নীতির
<Value>
উপাদানে একটি বৈধ পথ যোগ করুন। অর্থাৎ, প্রশ্ন চিহ্নটি প্রতিস্থাপন করুন (?
) সঙ্গে একটি ফরোয়ার্ড স্ল্যাশ (/
)<Value>
উপাদানে এবং এই সমস্যাটি ঠিক করার জন্য এটিকেhttps://mocktarget.apigee.net/echo
তে সেট করুন নীচে দেখানো হিসাবে:<AssignMessage async="false" continueOnError="false" enabled="true" name="AM-SetTargetURL"> <DisplayName>AM-SetTargetURL</DisplayName> <AssignVariable> <Name>target.url</Name> <Value>https://mocktarget.apigee.net/echo</Value> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
স্পেসিফিকেশন
Apigee এজ সেই
path
আশা করেpath
উপাদান ব্যাকএন্ড সার্ভারের URL সর্বদা একটি দিয়ে শুরু করতে হবে ফরোয়ার্ড স্ল্যাশ (/
) নিম্নলিখিত স্পেসিফিকেশন অনুযায়ী:স্পেসিফিকেশন RFC 3986, বিভাগ 3: সিনট্যাক্স উপাদান RFC 3986, বিভাগ 3.3: পথ আপনার যদি এখনও Apigee সাপোর্ট থেকে কোনো সহায়তার প্রয়োজন হয়, তাহলে অবশ্যই ডায়াগনস্টিক তথ্য সংগ্রহ করুন- এ যান।
ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে
উপরের নির্দেশাবলী অনুসরণ করার পরেও যদি সমস্যাটি থেকে যায়, তাহলে নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন এবং তারপর Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন:
আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
- প্রতিষ্ঠানের নাম
- পরিবেশের নাম
- API প্রক্সি নাম
- সম্পূর্ণ
curl
কমান্ড ত্রুটি কোডprotocol.http.BadPath
সহ500 Internal Server Error
পুনরুত্পাদন করতে ব্যবহৃত হয় - 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
তথ্যসূত্র