400 খারাপ অনুরোধ - SSL শংসাপত্র ত্রুটি৷

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

লক্ষণ

ক্লায়েন্ট অ্যাপ্লিকেশনটি " The SSL certificate error " বার্তা সহ একটি HTTP 400 - Bad request প্রতিক্রিয়া পায়। Apigee Edge-এ আগত সংযোগের জন্য সক্রিয় করা একটি দ্বি-মুখী TLS সেটআপে, এই ত্রুটিটি সাধারণত Edge Router দ্বারা পাঠানো হয়।

ত্রুটি বার্তা

ক্লায়েন্ট অ্যাপ্লিকেশনটি নিম্নলিখিত প্রতিক্রিয়া কোডটি পায়:

HTTP/1.1 400 Bad Request

এর পরে নিচের HTML ত্রুটির পৃষ্ঠাটি আসে:

<html>
  <head>
    <title>400 The SSL certificate error</title>
  </head>
  <body bgcolor="white">
    <center> <h1>400 Bad Request</h1>
    </center>
    <center>The SSL certificate error</center>
    <hr>
    <center>nginx</center>
  </body>
</html>

সম্ভাব্য কারণসমূহ

এই সমস্যার সম্ভাব্য কারণগুলো নিম্নরূপ:

কারণ বর্ণনা সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য
মেয়াদোত্তীর্ণ ক্লায়েন্ট সার্টিফিকেট ক্লায়েন্ট কর্তৃক প্রেরিত সার্টিফিকেটটির মেয়াদ শেষ হয়ে গেছে। এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীরা
ক্লায়েন্ট কর্তৃক প্রেরিত ভুল সার্টিফিকেট ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা প্রেরিত সার্টিফিকেটটি Edge-এর রাউটারের ট্রাস্টস্টোরে সংরক্ষিত সার্টিফিকেটের সাথে না মিললে এই ত্রুটিটি দেখা দেয়। এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীরা
ট্রাস্টস্টোরে ক্লায়েন্ট রুট সার্টিফিকেট অনুপস্থিত Edge-এর রাউটারের ট্রাস্টস্টোরে ক্লায়েন্টের CA স্বাক্ষরিত রুট সার্টিফিকেটটি অনুপস্থিত থাকলে এই ত্রুটিটি দেখা দেয়। এজ প্রাইভেট এবং পাবলিক ক্লাউড ব্যবহারকারীরা
এজ রাউটারে ক্লায়েন্ট সার্টিফিকেট লোড করা হয়নি ট্রাস্টস্টোরে আপলোড করা ক্লায়েন্ট সার্টিফিকেটগুলো রাউটারে লোড না হলে এই ত্রুটিটি দেখা দেয়। এজ প্রাইভেট ক্লাউড ব্যবহারকারীরা

কারণ: মেয়াদোত্তীর্ণ ক্লায়েন্ট সার্টিফিকেট

এই সমস্যাটি সাধারণত টু-ওয়ে টিএলএস (2-Way TLS)- এর ক্ষেত্রে ঘটে, যখন ক্লায়েন্ট কর্তৃক প্রেরিত সার্টিফিকেটটির মেয়াদ শেষ হয়ে যায়। একটি টু-ওয়ে টিএলএস-এ, হ্যান্ডশেক সম্পন্ন করার জন্য ক্লায়েন্ট এবং সার্ভার উভয়ই তাদের পাবলিক সার্টিফিকেট বিনিময় করে। ক্লায়েন্ট সার্ভারের সার্টিফিকেট যাচাই করে এবং সার্ভার ক্লায়েন্টের সার্টিফিকেট যাচাই করে।

Edge-এ, ভার্চুয়াল হোস্টে 2-way TLS প্রয়োগ করা হয়, যেখানে সার্ভার সার্টিফিকেটটি Keystore-এ এবং ক্লায়েন্ট সার্টিফিকেটটি truststore-এ যুক্ত করা হয়।

TLS হ্যান্ডশেকের সময় যদি দেখা যায় যে ক্লায়েন্ট সার্টিফিকেটটির মেয়াদ শেষ হয়ে গেছে, তাহলে সার্ভার " The SSL certificate error " বার্তা সহ 400 - Bad request পাঠাবে।

রোগ নির্ণয়

  1. Edge UI-তে লগ ইন করুন এবং যে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য API অনুরোধটি করা হচ্ছে তার কনফিগারেশন ( অ্যাডমিন > ভার্চুয়াল হোস্ট ) দেখুন, অথবা নির্দিষ্ট ভার্চুয়াল হোস্টটির সংজ্ঞা পেতে Get virtual host API ম্যানেজমেন্ট API ব্যবহার করুন।

    সাধারণত দ্বিমুখী TLS যোগাযোগের জন্য একটি ভার্চুয়াল হোস্ট দেখতে নিম্নরূপ হয়:

    <VirtualHost name="myTLSVHost">
        <HostAliases>
            <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
            <Enabled>true</Enabled>
            <ClientAuthEnabled>true</ClientAuthEnabled>
            <KeyStore>ref://myKeystoreRef</KeyStore>
            <KeyAlias>myKeyAlias</KeyAlias>
            <TrustStore>ref://myTruststoreRef</TrustStore>
        </SSLInfo>
    </VirtualHost>
  2. ভার্চুয়াল হোস্টে ব্যবহৃত ট্রাস্টস্টোর রেফারেন্সটি নির্ধারণ করুন। উপরের উদাহরণে, ট্রাস্টস্টোর রেফারেন্সের নাম হলো myTruststoreRef।

  3. Truststore রেফারেন্স দ্বারা নির্দেশিত Truststore-টি নির্ধারণ করুন।
    1. Edge UI-তে Admin > Environments > References- এ যান এবং Truststore রেফারেন্স নামটি অনুসন্ধান করুন।
    2. নির্দিষ্ট ট্রাস্টস্টোর রেফারেন্সের জন্য রেফারেন্স কলামে থাকা নামটি নোট করুন। এটিই হবে আপনার ট্রাস্টস্টোরের নাম।

      Edge UI-তে রেফারেন্সের একটি তালিকা দেখানো হচ্ছে।
      চিত্র ১

      উপরের উদাহরণে লক্ষ্য করুন, myTruststoreRef-myTruststore এর রেফারেন্স রয়েছে। সুতরাং, Truststore-এর নামটি হলো myTruststore

  4. Edge UI-এর Admin > Environments > TLS Keystores- এ গিয়ে TLS Keystores অপশনে যান এবং ৩ নং ধাপে পাওয়া Truststore-টি খুঁজুন।
  5. নীচে দেখানো অনুযায়ী, উপরে ৩ নং ধাপে নির্ধারিত নির্দিষ্ট ট্রাস্টস্টোরের অধীনে সার্টিফিকেটটি নির্বাচন করুন:

    চিত্র ২

    উপরের উদাহরণে client-cert-markw অ্যালিয়াসযুক্ত সার্টিফিকেটটি যে মেয়াদোত্তীর্ণ, তা দেখাচ্ছে।

  6. আপনার ট্রাস্টস্টোরের সার্টিফিকেট অ্যালিয়াসের সার্টিফিকেটটির মেয়াদ শেষ হয়ে গেছে কিনা তা যাচাই করুন।
  7. যদি সার্টিফিকেটটির মেয়াদ শেষ না হয়ে থাকে, তাহলে অন্যান্য কারণগুলোর জন্য সাধারণ রোগ নির্ণয়ের ধাপগুলোতে যান।

সমাধান

একটি নতুন সার্টিফিকেট সংগ্রহ করুন এবং সার্টিফিকেটটি আপলোড করুন:

  1. একটি নতুন ট্রাস্টস্টোর তৈরি করুন, যেমন myNewTruststore।
  2. নতুন সার্টিফিকেটটি নবনির্মিত ট্রাস্টস্টোরে আপলোড করুন।
  3. একটি রেফারেন্স পরিবর্তন করা (Modifying a reference) অংশে প্রদত্ত ধাপগুলো অনুসরণ করে নির্দিষ্ট ভার্চুয়াল হোস্টে ব্যবহৃত ট্রাস্টস্টোর রেফারেন্সটিকে নতুন ট্রাস্টস্টোরের দিকে নির্দেশ করার জন্য পরিবর্তন করুন।

    উপরে বর্ণিত উদাহরণে, myTruststoreRef রেফারেন্সটিকে myNewTruststore-এর দিকে নির্দেশ করুন।

অন্যান্য কারণগুলির জন্য সাধারণ রোগ নির্ণয়ের ধাপগুলি

  1. এই সমস্যাটি তদন্ত করার জন্য, আপনাকে tcpdump টুল ব্যবহার করে TCP/IP প্যাকেট ক্যাপচার করতে হবে।
    1. আপনি যদি একজন প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে ক্লায়েন্ট অ্যাপ্লিকেশন বা রাউটারে TCP/IP প্যাকেটগুলো ক্যাপচার করতে পারবেন।
    2. আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে ক্লায়েন্ট অ্যাপ্লিকেশনে TCP/IP প্যাকেটগুলো ক্যাপচার করুন।
    3. আপনি কোথায় TCP/IP প্যাকেট ক্যাপচার করতে চান তা ঠিক করার পরে, TCP/IP প্যাকেট ক্যাপচার করতে নিম্নলিখিত tcpdump কমান্ডটি ব্যবহার করুন:

      tcpdump -i any -s 0 host <IP address> -w <File name>

      দ্রষ্টব্য: যদি আপনি রাউটারে TCP/IP প্যাকেট গ্রহণ করেন, তাহলে tcpdump কমান্ডে ক্লায়েন্ট অ্যাপ্লিকেশনের পাবলিক আইপি অ্যাড্রেস ব্যবহার করুন।

      যদি আপনি ক্লায়েন্ট অ্যাপ্লিকেশনে TCP/IP প্যাকেট গ্রহণ করেন, তাহলে tcpdump কমান্ডে ভার্চুয়াল হোস্টে ব্যবহৃত হোস্ট নেমের পাবলিক আইপি অ্যাড্রেসটি ব্যবহার করুন।

      এই টুলটি এবং এর অন্যান্য সংস্করণ সম্পর্কে আরও তথ্যের জন্য tcpdump দেখুন।

  2. Wireshark টুল বা আপনার পরিচিত অনুরূপ কোনো টুল ব্যবহার করে সংগৃহীত TCP/IP প্যাকেটগুলো বিশ্লেষণ করুন।

ওয়্যারশার্ক টুল ব্যবহার করে নমুনা TCP/IP প্যাকেট ডেটার বিশ্লেষণ নিচে দেওয়া হলো:

  1. tcpdump-এর ৩০ নম্বর প্যাকেটটি (নিচের ছবি) দেখাচ্ছে যে, ক্লায়েন্ট অ্যাপ্লিকেশন (উৎস) রাউটারের (গন্তব্য) কাছে একটি "ক্লায়েন্ট হ্যালো" বার্তা পাঠিয়েছে।
  2. প্যাকেট #৩৪ থেকে দেখা যায় যে, রাউটারটি ক্লায়েন্ট অ্যাপ্লিকেশন থেকে আসা 'ক্লায়েন্ট হ্যালো' বার্তাটি স্বীকার করে নিয়েছে।
  3. রাউটারটি ৩৫ নম্বর প্যাকেটে "সার্ভার হ্যালো" পাঠায়, এরপর নিজের সার্টিফিকেট পাঠায় এবং ৩৮ নম্বর প্যাকেটে ক্লায়েন্ট অ্যাপ্লিকেশনকে তার সার্টিফিকেট পাঠানোর জন্য অনুরোধ করে।
  4. প্যাকেট #৩৮-এ, যেখানে রাউটার "সার্টিফিকেট রিকোয়েস্ট" প্যাকেট পাঠায়, সেখানে "ডিস্টিংগুইশড নেমস" সেকশনটি পরীক্ষা করুন, যা ক্লায়েন্ট সার্টিফিকেট, এর চেইন এবং রাউটার (সার্ভার) দ্বারা গৃহীত সার্টিফিকেট অথরিটিগুলো সম্পর্কে বিস্তারিত তথ্য প্রদান করে।
  5. চিত্র ৩
  6. ক্লায়েন্ট অ্যাপ্লিকেশনটি তার সার্টিফিকেট ৪১ নম্বর প্যাকেটে পাঠায়। ৪১ নম্বর প্যাকেটের 'সার্টিফিকেট যাচাই' (Certificate Verify) অংশটি পরীক্ষা করুন এবং ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা প্রেরিত সার্টিফিকেটটি শনাক্ত করুন।

    চিত্র ৪
  7. ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা প্রেরিত সার্টিফিকেট এবং এর চেইনের (প্যাকেট #৪১) সাবজেক্ট ও ইস্যুকারী, রাউটার থেকে গৃহীত সার্টিফিকেট এবং এর চেইনের (প্যাকেট #৩৮) সাথে মেলে কিনা তা যাচাই করুন। যদি অমিল থাকে, তবে সেটিই এই ত্রুটির কারণ। এই কারণে রাউটার (সার্ভার) ক্লায়েন্ট অ্যাপ্লিকেশনকে এনক্রিপ্টেড অ্যালার্ট (প্যাকেট #৫৭) পাঠায়, যার পরে FIN ও ACK (প্যাকেট #৫৮) পাঠানো হয় এবং অবশেষে সংযোগটি বিচ্ছিন্ন হয়ে যায়।
  8. সার্টিফিকেট এবং এর চেইনের মধ্যে অমিল নিম্নলিখিত বিভাগগুলিতে বর্ণিত পরিস্থিতিগুলির কারণে হতে পারে।

কারণ: ক্লায়েন্ট কর্তৃক ভুল সার্টিফিকেট পাঠানো হয়েছে

এটি সাধারণত ঘটে যদি ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা প্রেরিত সার্টিফিকেট এবং/অথবা তার চেইনের সাবজেক্ট/ইস্যুকারী, রাউটার (সার্ভার)-এর ট্রাস্টস্টোরে সংরক্ষিত সার্টিফিকেট এবং/অথবা তার চেইনের সাথে মেলে না।

রোগ নির্ণয়

  1. Edge UI-তে সাইন ইন করুন এবং যে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য API অনুরোধটি করা হচ্ছে তার কনফিগারেশন ( অ্যাডমিন > ভার্চুয়াল হোস্ট ) দেখুন, অথবা নির্দিষ্ট ভার্চুয়াল হোস্টটির সংজ্ঞা পেতে Get virtual host API ম্যানেজমেন্ট API ব্যবহার করুন।

    সাধারণত দ্বিমুখী TLS যোগাযোগের জন্য একটি ভার্চুয়াল হোস্ট দেখতে নিম্নরূপ হয়:

        <VirtualHost name="myTLSVHost">
            <HostAliases>
                <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <SSLInfo>
                <Enabled>true</Enabled>
                <ClientAuthEnabled>true</ClientAuthEnabled>
                <KeyStore>ref://myKeystoreRef</KeyStore>
                <KeyAlias>myKeyAlias</KeyAlias>
                    <TrustStore>ref://myCompanyTruststoreRef</TrustStore>
            </SSLInfo>
        </VirtualHost>
  2. ভার্চুয়াল হোস্টে ব্যবহৃত ট্রাস্টস্টোর রেফারেন্সটি নির্ধারণ করুন।

    উপরের উদাহরণে, ট্রাস্টস্টোর রেফারেন্সের নামটি হলো myCompanyTruststoreRef।

  3. Truststore রেফারেন্স দ্বারা নির্দেশিত Truststore-টি নির্ধারণ করুন।
    1. Edge UI-তে Admin > Environments References- এ যান এবং Truststore রেফারেন্স নামটি অনুসন্ধান করুন।
    2. নির্দিষ্ট ট্রাস্টস্টোর রেফারেন্সের জন্য রেফারেন্স কলামে থাকা নামটি নোট করুন। এটিই হবে আপনার ট্রাস্টস্টোরের নাম।

      Edge UI-তে ট্রাস্টস্টোর রেফারেন্স দেখানো হচ্ছে।
      চিত্র ৫

      উপরের উদাহরণে লক্ষ্য করুন, myCompanyTruststoreRef- এ myCompanyTruststore-এর রেফারেন্স রয়েছে। সুতরাং, Truststore-এর নামটি হলো myCompanyTruststore।

  4. নিম্নলিখিত API গুলি ব্যবহার করে ট্রাস্টস্টোরে (পূর্ববর্তী ধাপে নির্ধারিত) সংরক্ষিত সার্টিফিকেটগুলি সংগ্রহ করুন:
    1. একটি কীস্টোর বা ট্রাস্টস্টোর এপিআই-এর জন্য সার্টিফিকেটগুলির তালিকা তৈরি করুন

      এই API নির্দিষ্ট ট্রাস্টস্টোরে থাকা সমস্ত সার্টিফিকেট তালিকাভুক্ত করে।

    2. কীস্টোর বা ট্রাস্টস্টোর এপিআই থেকে সার্টিফিকেটের বিবরণ পান

      এই API-টি নির্দিষ্ট ট্রাস্টস্টোরে থাকা একটি নির্দিষ্ট সার্টিফিকেট সম্পর্কে তথ্য প্রদান করে।

  5. myCompanyTruststore- এ সংরক্ষিত প্রতিটি সার্টিফিকেট এবং তার চেইনের ইস্যুকারী ও সাবজেক্ট, উপরে উল্লিখিত TCP/IP প্যাকেটে (প্যাকেট #৩৮ দেখুন) প্রদর্শিত সার্টিফিকেট এবং তার চেইনের সাথে মেলে কিনা তা পরীক্ষা করুন। যদি অমিল থাকে, তবে এটি নির্দেশ করে যে ট্রাস্টস্টোরে আপলোড করা সার্টিফিকেটগুলো এজ রাউটারে লোড হচ্ছে না। 'কারণ: এজ রাউটারে ক্লায়েন্ট সার্টিফিকেট লোড হয়নি ' অংশে যান।
  6. যদি ধাপ #৫-এ কোনো অমিল খুঁজে না পাওয়া যায়, তাহলে তা নির্দেশ করে যে ক্লায়েন্ট অ্যাপ্লিকেশনটি সঠিক সার্টিফিকেট এবং তার চেইন পাঠায়নি।

সমাধান

ক্লায়েন্ট অ্যাপ্লিকেশন থেকে Edge-এ সঠিক সার্টিফিকেট এবং এর চেইন পাঠানো নিশ্চিত করুন।

কারণ: ট্রাস্টস্টোরে ক্লায়েন্ট রুট সার্টিফিকেট অনুপস্থিত

Edge-এর রাউটারের ট্রাস্টস্টোরে ক্লায়েন্টের CA স্বাক্ষরিত রুট সার্টিফিকেটটি অনুপস্থিত থাকলে এই ত্রুটিটি দেখা দেয়।

রোগ নির্ণয়

  1. Edge UI-তে সাইন ইন করুন এবং যে নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য API অনুরোধটি করা হচ্ছে তার কনফিগারেশন দেখুন ( Admin > Virtual Hosts > virtual_host ), অথবা নির্দিষ্ট ভার্চুয়াল হোস্টটির সংজ্ঞা পেতে Get virtual host API ব্যবহার করুন।

    সাধারণত দ্বিমুখী TLS যোগাযোগের জন্য একটি ভার্চুয়াল হোস্ট দেখতে নিম্নরূপ হয়:

        <VirtualHost name="myTLSVHost">
            <HostAliases>
                <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <SSLInfo>
                <Enabled>true</Enabled>
                <ClientAuthEnabled>true</ClientAuthEnabled>
                <KeyStore>ref://myKeystoreRef</KeyStore>
                <KeyAlias>myKeyAlias</KeyAlias>
                <TrustStore>ref://myCompanyTruststoreRef</TrustStore>
            </SSLInfo>
        </VirtualHost>
  2. ভার্চুয়াল হোস্টে ব্যবহৃত ট্রাস্টস্টোর রেফারেন্সটি নির্ধারণ করুন। পূর্ববর্তী উদাহরণে, ট্রাস্টস্টোর রেফারেন্সের নামটি হলো myCompanyTruststoreRef।
  3. ট্রাস্টস্টোর রেফারেন্সটি দ্বারা ব্যবহৃত প্রকৃত ট্রাস্টস্টোরটি নির্ধারণ করুন।
  4. Edge UI-তে, Admin > Environments > References- এ যান এবং truststore রেফারেন্স নামটি অনুসন্ধান করুন।
  5. নির্দিষ্ট ট্রাস্টস্টোর রেফারেন্সটির ট্রাস্টস্টোরের নামটি রেফারেন্স কলামে রয়েছে।

    চিত্র ৬

    এই উদাহরণে, লক্ষ্য করুন যে myCompanyTruststoreRef-এর Reference কলামে myCompanyTruststore রয়েছে। সুতরাং, ট্রাস্টস্টোরের নামটি হলো myCompanyTruststore

  6. নিম্নলিখিত API-গুলো ব্যবহার করে ট্রাস্টস্টোরে (যা পূর্ববর্তী ধাপে নির্ধারণ করা হয়েছে) সংরক্ষিত সার্টিফিকেটগুলো সংগ্রহ করুন:
    1. কীস্টোর বা ট্রাস্টস্টোর এপিআই-এর জন্য সার্টিফিকেট তালিকা । এই এপিআইটি ট্রাস্টস্টোরে থাকা সমস্ত সার্টিফিকেট তালিকাভুক্ত করে।
    2. কীস্টোর বা ট্রাস্টস্টোর এপিআই থেকে সার্টিফিকেটের বিবরণ জানুন । এই এপিআইটি ট্রাস্টস্টোরে থাকা একটি নির্দিষ্ট সার্টিফিকেট সম্পর্কে তথ্য প্রদান করে।
  7. টিসিপি/আইপি প্যাকেটে (TCP/IP Packets) যেমন দেখা যায়, নির্দিষ্ট ক্লায়েন্ট কর্তৃক প্রেরিত রুট সার্টিফিকেট সহ সার্টিফিকেটটিতে একটি সম্পূর্ণ চেইন আছে কিনা তা পরীক্ষা করুন ( চিত্র ৪ দেখুন)। ট্রাস্টস্টোরে অবশ্যই রুট সার্টিফিকেটের পাশাপাশি ক্লায়েন্টের লিফ সার্টিফিকেট অথবা লিফ এবং ইন্টারমিডিয়েট সার্টিফিকেট অন্তর্ভুক্ত থাকতে হবে। যদি ট্রাস্টস্টোরে ক্লায়েন্টের বৈধ রুট সার্টিফিকেটটি অনুপস্থিত থাকে, তবে সেটিই এই ত্রুটির কারণ।

    তবে, যদি রুট সার্টিফিকেট সহ ক্লায়েন্টের সম্পূর্ণ সার্টিফিকেট চেইন ট্রাস্টস্টোরে বিদ্যমান থাকে, তাহলে এটি নির্দেশ করে যে ট্রাস্টস্টোরে আপলোড করা সার্টিফিকেটগুলো সম্ভবত এজ রাউটারে লোড হয়নি। যদি এমনটা হয়, তাহলে "কারণ: এজ রাউটারে ক্লায়েন্ট সার্টিফিকেট লোড হয়নি" দেখুন।

সমাধান

নিশ্চিত করুন যে রুট সার্টিফিকেট সহ সঠিক ক্লায়েন্টের সার্টিফিকেটটি Apigee Edge রাউটারের ট্রাস্টস্টোরে রয়েছে।

কারণ: এজ রাউটারে ক্লায়েন্ট সার্টিফিকেট লোড করা হয়নি

  1. আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।
  2. আপনি যদি প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে প্রতিটি রাউটারে নিচের নির্দেশাবলী অনুসরণ করুন:
    1. নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য /opt/nginx/conf.d/OrgName_envName_vhostName-client.pem ফাইলটি আছে কিনা তা পরীক্ষা করুন। যদি ফাইলটি না থাকে, তাহলে নিচের সমাধান (Resolution) বিভাগে যান।
    2. ফাইলটি বিদ্যমান থাকলে, এজ রাউটারে থাকা সার্টিফিকেটগুলোর বিবরণ পেতে নিচের openssl কমান্ডটি ব্যবহার করুন:
      openssl -in <OrgName_envName_vhostName-client.pem> -text -noout
    3. সার্টিফিকেটটির ইস্যুকারী, বিষয় এবং মেয়াদ শেষ হওয়ার তারিখ যাচাই করুন। যদি এগুলোর কোনোটি Edge UI-এর Truststore-এ অথবা ম্যানেজমেন্ট API ব্যবহার করে যা দেখা গেছে তার সাথে না মেলে, তাহলে সেটাই ত্রুটির কারণ।
    4. সম্ভবত রাউটারটি আপলোড করা সার্টিফিকেটগুলো পুনরায় লোড করেনি।

সমাধান

সর্বশেষ সার্টিফিকেটগুলো লোড হয়েছে কিনা তা নিশ্চিত করতে নিচের ধাপটি অনুসরণ করে রাউটারটি রিস্টার্ট করুন:

apigee-service edge-router restart

এপিআইগুলো পুনরায় চালান এবং ফলাফল যাচাই করুন। সমস্যাটি অব্যাহত থাকলে, ডায়াগনস্টিক তথ্য সংগ্রহ (Gather Diagnostic Information) অংশে যান।

রোগ নির্ণয়ের তথ্য সংগ্রহ করুন

উপরের নির্দেশাবলী অনুসরণ করার পরেও যদি সমস্যাটি থেকে যায়, তাহলে অনুগ্রহ করে নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন। সংগৃহীত তথ্য Apigee Edge Support-এর সাথে যোগাযোগ করে শেয়ার করুন:

  1. আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্যগুলো প্রদান করুন:
    1. সংস্থার নাম
    2. পরিবেশের নাম
    3. এপিআই প্রক্সি নাম
    4. ভার্চুয়াল হোস্টের নাম
    5. হোস্টের ছদ্মনাম
    6. ত্রুটিটি পুনরুৎপাদন করতে সম্পূর্ণ কার্ল (curl) কমান্ডটি ব্যবহার করুন।
    7. ক্লায়েন্ট অ্যাপ্লিকেশনে ক্যাপচার করা TCP/IP প্যাকেট
  2. আপনি যদি প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
    1. Get virtual host API ব্যবহার করে ভার্চুয়াল হোস্টের নাম এবং এর সংজ্ঞা
    2. হোস্টের ছদ্মনাম
    3. সম্পূর্ণ ত্রুটি বার্তা পরিলক্ষিত হয়েছে
    4. ক্লায়েন্ট অ্যাপ্লিকেশন বা রাউটারে ক্যাপচার করা TCP/IP প্যাকেট।
    5. কীস্টোর এপিআই (API) থেকে সার্টিফিকেটগুলোর তালিকা তৈরির আউটপুট এবং সেইসাথে ‘গেট সার্ট ডিটেইলস’ এপিআই (API) ব্যবহার করে প্রাপ্ত প্রতিটি সার্টিফিকেটের বিস্তারিত তথ্য।
  3. এই প্লেবুকের কোন কোন অংশ আপনি চেষ্টা করেছেন সে সম্পর্কিত বিবরণ এবং অন্য কোনো তথ্য যা আমাদের এই সমস্যার সমাধান দ্রুত করতে সাহায্য করবে, তা প্রদান করুন।