curl ত্রুটি কোড: সম্পূর্ণ রেফারেন্স

যখন একটি curl কমান্ড ব্যর্থ হয়, এটি একটি সংখ্যাসূচক এক্সিট কোড (যাকে curl ত্রুটি কোডও বলা হয়) ফেরত দেয় যা ত্রুটির ধরন সনাক্ত করে। curl কমান্ডের পরপরই echo $? চালিয়ে (অথবা PowerShell-এ $LASTEXITCODE) আপনি curl এক্সিট কোড পরীক্ষা করতে পারেন। এক্সিট কোড 0 মানে সাফল্য; অন্য যেকোনো সংখ্যা একটি নির্দিষ্ট সমস্যা নির্দেশ করে — DNS রেজোলিউশন ব্যর্থতা এবং সংযোগ টাইমআউট থেকে SSL সার্টিফিকেট সমস্যা পর্যন্ত। এই পৃষ্ঠাটি সবচেয়ে সাধারণ curl ত্রুটি কোডগুলির একটি সম্পূর্ণ রেফারেন্স যেখানে ব্যাখ্যা, কারণ এবং সমাধান রয়েছে। আপনি যদি আপনার কোডে curl কমান্ড নিয়ে কাজ করেন, সেগুলি curl2code-এ পেস্ট করুন আপনার পছন্দের প্রোগ্রামিং ভাষায় রূপান্তর করতে।

দ্রুত রেফারেন্স টেবিল

0CURLE_OK

সফল। অপারেশনটি কোনো ত্রুটি ছাড়াই সম্পন্ন হয়েছে।

1CURLE_UNSUPPORTED_PROTOCOL

অসমর্থিত প্রোটোকল। URL এমন একটি প্রোটোকল ব্যবহার করে যার জন্য curl বিল্ড করা হয়নি।

3CURLE_URL_MALFORMAT

ত্রুটিপূর্ণ URL। URL সিনট্যাক্স অবৈধ অথবা পার্স করা যায়নি।

5CURLE_COULDNT_RESOLVE_PROXY

প্রক্সি রেজলভ করা যায়নি। নির্দিষ্ট প্রক্সি হোস্টনেম রেজলভ করা যায়নি।

6CURLE_COULDNT_RESOLVE_HOST

DNS লুকআপ ব্যর্থ — হোস্টনেমকে IP অ্যাড্রেসে রেজলভ করা যায়নি।

7CURLE_COULDNT_CONNECT

TCP সংযোগ ব্যর্থ — সার্ভার ডাউন, পোর্ট ব্লক করা, অথবা ফায়ারওয়াল সংযোগ প্রত্যাখ্যান করছে।

18CURLE_PARTIAL_FILE

আংশিক ফাইল। ট্রান্সফার বিঘ্নিত হয়েছে এবং ফাইলের শুধুমাত্র একটি অংশ প্রাপ্ত হয়েছে।

22CURLE_HTTP_RETURNED_ERROR

সার্ভার একটি HTTP ত্রুটি (4xx/5xx) ফেরত দিয়েছে এবং --fail ফ্ল্যাগ ব্যবহার করা হয়েছিল।

23CURLE_WRITE_ERROR

লেখার ত্রুটি। curl প্রাপ্ত ডেটা ডিস্কে লিখতে ব্যর্থ হয়েছে (অনুমতি অস্বীকৃত অথবা ডিস্ক পূর্ণ)।

28CURLE_OPERATION_TIMEDOUT

অপারেশন সর্বোচ্চ অনুমোদিত সময় অতিক্রম করেছে (DNS, সংযোগ, বা ট্রান্সফার)।

35CURLE_SSL_CONNECT_ERROR

SSL/TLS হ্যান্ডশেক ব্যর্থ — প্রোটোকল সংস্করণ বা সাইফার স্যুট অমিল।

37CURLE_FILE_COULDNT_READ_FILE

ফাইল পড়া যায়নি। রিকোয়েস্টে উল্লেখিত একটি স্থানীয় ফাইল খোলা বা পড়া যায়নি।

52CURLE_GOT_NOTHING

সার্ভার থেকে খালি উত্তর। সার্ভার কোনো ডেটা না পাঠিয়েই সংযোগ বন্ধ করে দিয়েছে।

56CURLE_RECV_ERROR

সংযোগ রিসেট হয়েছে — ডেটা ট্রান্সফারের সময় সার্ভার সংযোগ ছেড়ে দিয়েছে।

60CURLE_SSL_CACERT

SSL সার্টিফিকেট যাচাইকরণ ব্যর্থ — মেয়াদোত্তীর্ণ, self-signed, অথবা CA বান্ডল পুরনো।

77CURLE_SSL_CACERT_BADFILE

SSL CA cert সমস্যা। নির্দিষ্ট CA সার্টিফিকেট ফাইল পড়া বা পার্স করা যায়নি।

92CURLE_HTTP2_STREAM

HTTP/2 স্ট্রিম ত্রুটি। ট্রান্সফারের সময় একটি HTTP/2 প্রোটোকল-স্তরের স্ট্রিম ত্রুটি ঘটেছে।

ত্রুটি 6: হোস্ট রেজলভ করা যায়নি

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (6) Could not resolve host। curl হোস্টনেমকে IP অ্যাড্রেসে রেজলভ করতে পারেনি — কোনো সংযোগ চেষ্টা করার আগেই DNS লুকআপ ব্যর্থ হয়েছে।
কারণসমূহ
সবচেয়ে সাধারণ কারণগুলি হলো: হোস্টনেমে টাইপো (যেমন, api.example.com-এর বদলে curl https://apiexample.com), DNS সার্ভার সমস্যা (আপনার কনফিগার করা DNS ডাউন বা অপ্রাপ্য), কোনো নেটওয়ার্ক সংযোগ নেই (Wi-Fi বিচ্ছিন্ন, VPN সংযুক্ত নয়), অথবা ডোমেইনটি সত্যিই অস্তিত্বে নেই
কীভাবে সমাধান করবেন
প্রথমে URL সঠিক কিনা যাচাই করুন। তারপর সরাসরি DNS রেজোলিউশন পরীক্ষা করুন: nslookup api.example.com অথবা dig api.example.com। DNS ব্যর্থ হলে, ভিন্ন DNS সার্ভার চেষ্টা করুন: curl --dns-servers 8.8.8.8 https://api.example.com। আপনার /etc/resolv.conf বা নেটওয়ার্ক সেটিংস পরীক্ষা করুন। কর্পোরেট VPN-এর পিছনে থাকলে, নিশ্চিত করুন অভ্যন্তরীণ DNS হোস্টটি রেজলভ করতে পারে।
$ curl https://api.exmple.com/users

ত্রুটি 7: সংযোগ ব্যর্থ

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (7) Failed to connect to host port: Connection refused। curl হোস্টনেম রেজলভ করেছে কিন্তু সার্ভারের সাথে TCP সংযোগ স্থাপন করতে পারেনি — সংযোগটি সক্রিয়ভাবে প্রত্যাখ্যাত হয়েছে অথবা TCP স্তরে টাইমআউট হয়েছে।
কারণসমূহ
সাধারণ কারণগুলির মধ্যে রয়েছে: সার্ভার ডাউন বা চালু নেই, একটি ফায়ারওয়াল পোর্ট ব্লক করছে (স্থানীয় ও সার্ভার-সাইড উভয় ফায়ারওয়াল পরীক্ষা করুন), পোর্ট ভুল (যেমন, সার্ভিস 8080-এ চলে কিন্তু আপনি 443-এ সংযোগ করছেন), অথবা সার্ভারের লিসেন ব্যাকলগ পূর্ণ অত্যধিক লোডের কারণে।
কীভাবে সমাধান করবেন
সার্ভার চালু আছে কিনা যাচাই করুন: ping api.example.com এবং telnet api.example.com 443। সঠিক পোর্ট খোলা আছে কিনা পরীক্ষা করুন: nmap -p 443 api.example.com। পরীক্ষার জন্য সাময়িকভাবে স্থানীয় ফায়ারওয়াল নিষ্ক্রিয় করুন। Docker ব্যবহার করলে, নিশ্চিত করুন কন্টেইনার পোর্ট পাবলিশ করা আছে। verbose মোডে চেষ্টা করুন: curl -v https://api.example.com ঠিক কোথায় সংযোগ ব্যর্থ হচ্ছে দেখতে।
$ curl https://localhost:8080/api

ত্রুটি 22: HTTP ত্রুটি ফেরত দিয়েছে

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (22) The requested URL returned error। সার্ভার একটি HTTP ত্রুটি স্ট্যাটাস কোড (4xx অথবা 5xx) ফেরত দিয়েছে এবং curl -f অথবা --fail দিয়ে চালানো হয়েছিল, যা curl-কে HTTP ত্রুটিগুলিকে ব্যর্থতা হিসেবে গণ্য করতে বলে।
কারণসমূহ
ত্রুটিটি HTTP স্ট্যাটাস কোড যেমন 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), অথবা 500 (Internal Server Error) দ্বারা ট্রিগার হয় — তবে শুধুমাত্র যখন --fail ব্যবহার করা হয়--fail ছাড়া, HTTP ত্রুটিতেও curl কোড 0 দিয়ে বের হয়। সাধারণ কারণ: ভুল URL, অনুপস্থিত অথেন্টিকেশন, অপর্যাপ্ত অনুমতি, অথবা সার্ভার-সাইড বাগ।
কীভাবে সমাধান করবেন
সম্পূর্ণ রেসপন্স বডি দেখতে --fail ছাড়া curl চালান — এতে প্রায়ই প্রকৃত ত্রুটি বার্তা থাকে। HTTP স্ট্যাটাস কোড পরীক্ষা করুন: curl -w "%{http_code}" -o /dev/null -s URL। 401/403-এর জন্য: আপনার auth টোকেন অথবা API কী যাচাই করুন। 404-এর জন্য: URL পাথ পুনরায় পরীক্ষা করুন। 500-এর জন্য: সমস্যাটি সার্ভার-সাইডে।
$ curl --fail https://api.example.com/nonexistent

ত্রুটি 28: অপারেশন টাইমআউট হয়েছে

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (28) Operation timed out অথবা curl: (28) Connection timed out। অপারেশনটি অনুমোদিত সময়ের চেয়ে বেশি সময় নিয়েছে। এটি সবচেয়ে সাধারণ curl ত্রুটি — এটি DNS রেজোলিউশন, TCP সংযোগ, SSL হ্যান্ডশেক বা ডেটা ট্রান্সফারের সময় ঘটতে পারে।
কারণসমূহ
সাধারণ কারণগুলির মধ্যে রয়েছে: ধীর বা ওভারলোডেড সার্ভার সময়মতো সাড়া দিচ্ছে না, নেটওয়ার্ক কনজেশন বা প্যাকেট লস, ফায়ারওয়াল নীরবে প্যাকেট বাতিল করছে (কোনো প্রত্যাখ্যান নেই, শুধু নীরবতা), --connect-timeout বা --max-time দিয়ে সেট করা অতিরিক্ত কঠোর টাইমআউট মান, অথবা বিলম্ব সৃষ্টিকারী প্রক্সি ভুল কনফিগারেশন
কীভাবে সমাধান করবেন
টাইমআউট বাড়ান: curl --connect-timeout 30 --max-time 120 URL। কোথায় আটকে আছে দেখতে verbose মোড ব্যবহার করুন: curl -v URL। নেটওয়ার্ক লেটেন্সি পরীক্ষা করুন: ping api.example.com এবং traceroute api.example.com। প্রক্সির পিছনে থাকলে, বাইপাস করার চেষ্টা করুন: curl --noproxy '*' URL। বড় ফাইল ট্রান্সফারের জন্য, --retry 3 এবং --retry-delay 5 ব্যবহার করার কথা ভাবুন।
$ curl --connect-timeout 5 https://slow-api.example.com/data

ত্রুটি 35: SSL সংযোগ ত্রুটি

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (35) SSL connect error। SSL/TLS হ্যান্ডশেক ব্যর্থ হয়েছে — curl সার্ভারের সাথে একটি নিরাপদ সংযোগ স্থাপন করতে পারেনি।
কারণসমূহ
সাধারণ কারণ: TLS সংস্করণ অমিল (সার্ভারের জন্য TLS 1.3 প্রয়োজন কিন্তু আপনার curl শুধুমাত্র TLS 1.2 পর্যন্ত সমর্থন করে), সাইফার স্যুট অসামঞ্জস্যতা, সার্ভার SSL ভুল কনফিগারেশন (হ্যান্ডশেকের সময় মেয়াদোত্তীর্ণ সার্ট প্রদর্শন, অসম্পূর্ণ চেইন), সার্ভার প্রদত্ত পোর্টে প্রকৃতপক্ষে HTTPS সমর্থন করে না, অথবা একটি প্রক্সি বা ফায়ারওয়াল SSL সংযোগে হস্তক্ষেপ করছে (MITM)।
কীভাবে সমাধান করবেন
নির্দিষ্ট TLS সংস্করণ জোর করুন: curl --tlsv1.2 URL অথবা curl --tlsv1.3 URL। সার্ভার কী সমর্থন করে পরীক্ষা করুন: openssl s_client -connect api.example.com:443। curl এবং OpenSSL সর্বশেষ সংস্করণে আপডেট করুন। সার্ভার যদি self-signed cert ব্যবহার করে, সেটি সাধারণত error 60 — error 35 সাধারণত একটি প্রোটোকল-স্তরের হ্যান্ডশেক ব্যর্থতা নির্দেশ করে।
$ curl https://legacy-server.example.com/api

ত্রুটি 56: রিসিভ ব্যর্থতা — সংযোগ রিসেট হয়েছে

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (56) Recv failure: Connection reset by peer। সংযোগটি সফলভাবে স্থাপিত হয়েছিল, কিন্তু ডেটা গ্রহণ ব্যর্থ হয়েছে — ট্রান্সফারের সময় সার্ভার অপ্রত্যাশিতভাবে সংযোগ বন্ধ বা রিসেট করে দিয়েছে।
কারণসমূহ
এটি প্রায়ই ঘটে যখন: সার্ভার ক্র্যাশ বা রিস্টার্ট হয় ট্রান্সফারের মাঝে, একটি লোড ব্যালেন্সার বা প্রক্সি সংযোগ ছেড়ে দেয় (নিষ্ক্রিয়তা টাইমআউট, রিকোয়েস্ট খুব বড়), একটি ফায়ারওয়াল দীর্ঘস্থায়ী সংযোগ বন্ধ করে দেয়, সার্ভারের keep-alive টাইমআউট প্রত্যাশার চেয়ে কম, অথবা ক্লায়েন্ট ও সার্ভারের মধ্যে নেটওয়ার্ক বিঘ্ন আছে।
কীভাবে সমাধান করবেন
আবার রিকোয়েস্ট চেষ্টা করুন — ক্ষণস্থায়ী নেটওয়ার্ক সমস্যা সবচেয়ে সাধারণ কারণ। verbose মোড ব্যবহার করুন: curl -v URL ব্যর্থতার সঠিক পয়েন্ট দেখতে। বড় আপলোডের সময় ত্রুটি ঘটলে, chunked ট্রান্সফার চেষ্টা করুন: curl -H "Transfer-Encoding: chunked" URLRPC failed; curl 56 দেখানো Git অপারেশনের জন্য, বাফার বাড়ান: git config http.postBuffer 524288000
$ curl https://api.example.com/large-download

ত্রুটি 60: SSL সার্টিফিকেট সমস্যা

এর অর্থ কী
আপনার টার্মিনালে দেখাচ্ছে curl: (60) SSL certificate problem: unable to get local issuer certificate। curl সার্ভারের SSL সার্টিফিকেট তার CA (Certificate Authority) বান্ডলের বিপরীতে যাচাই করতে পারেনি। TLS হ্যান্ডশেক প্রোটোকল স্তরে সম্পন্ন হয়েছে, কিন্তু সার্টিফিকেট যাচাইকরণ ব্যর্থ হয়েছে।
কারণসমূহ
সবচেয়ে সাধারণ কারণ: সার্ভার একটি self-signed সার্টিফিকেট ব্যবহার করে, সার্টিফিকেটটির মেয়াদ শেষ হয়ে গেছে, সার্টিফিকেট চেইন অসম্পূর্ণ (মধ্যবর্তী সার্টিফিকেট অনুপস্থিত), curl-এর CA বান্ডল পুরনো (পুরনো সিস্টেম বা Docker কন্টেইনারে সাধারণ), অথবা সার্টিফিকেটের Common Name / SAN অনুরোধিত হোস্টনেমের সাথে মেলে না
কীভাবে সমাধান করবেন
CA বান্ডল আপডেট করুন: curl --cacert /path/to/cacert.pem URL। https://curl.se/ca/cacert.pem থেকে একটি আপডেটেড বান্ডল ডাউনলোড করুন। সমস্যা নির্ণয়ের জন্য: openssl s_client -connect api.example.com:443 -showcerts। ডেভেলপমেন্টে self-signed cert-এর জন্য, curl -k URL ব্যবহার করুন (কখনোই প্রোডাকশনে নয় — এটি সমস্ত সার্টিফিকেট যাচাইকরণ নিষ্ক্রিয় করে)। Docker-এ, ca-certificates প্যাকেজ ইনস্টল করুন।
$ curl https://self-signed.example.com/api

অন্যান্য ত্রুটি কোড

0CURLE_OK

সফল। অপারেশনটি কোনো ত্রুটি ছাড়াই সম্পন্ন হয়েছে।

1CURLE_UNSUPPORTED_PROTOCOL

অসমর্থিত প্রোটোকল। URL এমন একটি প্রোটোকল ব্যবহার করে যার জন্য curl বিল্ড করা হয়নি।

3CURLE_URL_MALFORMAT

ত্রুটিপূর্ণ URL। URL সিনট্যাক্স অবৈধ অথবা পার্স করা যায়নি।

5CURLE_COULDNT_RESOLVE_PROXY

প্রক্সি রেজলভ করা যায়নি। নির্দিষ্ট প্রক্সি হোস্টনেম রেজলভ করা যায়নি।

18CURLE_PARTIAL_FILE

আংশিক ফাইল। ট্রান্সফার বিঘ্নিত হয়েছে এবং ফাইলের শুধুমাত্র একটি অংশ প্রাপ্ত হয়েছে।

23CURLE_WRITE_ERROR

লেখার ত্রুটি। curl প্রাপ্ত ডেটা ডিস্কে লিখতে ব্যর্থ হয়েছে (অনুমতি অস্বীকৃত অথবা ডিস্ক পূর্ণ)।

37CURLE_FILE_COULDNT_READ_FILE

ফাইল পড়া যায়নি। রিকোয়েস্টে উল্লেখিত একটি স্থানীয় ফাইল খোলা বা পড়া যায়নি।

52CURLE_GOT_NOTHING

সার্ভার থেকে খালি উত্তর। সার্ভার কোনো ডেটা না পাঠিয়েই সংযোগ বন্ধ করে দিয়েছে।

77CURLE_SSL_CACERT_BADFILE

SSL CA cert সমস্যা। নির্দিষ্ট CA সার্টিফিকেট ফাইল পড়া বা পার্স করা যায়নি।

92CURLE_HTTP2_STREAM

HTTP/2 স্ট্রিম ত্রুটি। ট্রান্সফারের সময় একটি HTTP/2 প্রোটোকল-স্তরের স্ট্রিম ত্রুটি ঘটেছে।

curl ত্রুটি কীভাবে ডিবাগ করবেন

curl ব্যর্থ হলে, এই তিনটি ফ্ল্যাগ আপনাকে দ্রুত মূল কারণ সনাক্ত করতে সাহায্য করে — DNS রেজোলিউশন থেকে SSL হ্যান্ডশেক থেকে রেসপন্স পেলোড পর্যন্ত।

  1. 1

    verbose আউটপুট সক্রিয় করুন

    সম্পূর্ণ রিকোয়েস্ট/রেসপন্স চক্র দেখতে curl -v URL চালান: DNS রেজোলিউশন, TCP সংযোগ, TLS হ্যান্ডশেক, পাঠানো রিকোয়েস্ট হেডার এবং প্রাপ্ত রেসপন্স হেডার। এটি সবচেয়ে কার্যকর ডিবাগিং ফ্ল্যাগ।

  2. 2

    HTTP স্ট্যাটাস কোড পরীক্ষা করুন

    রেসপন্স বডি ছাড়াই শুধুমাত্র HTTP স্ট্যাটাস কোড (200, 404, 500, ইত্যাদি) পেতে curl -o /dev/null -s -w "%{http_code}" URL চালান। দ্রুত হেলথ চেক এবং স্ক্রিপ্টিংয়ের জন্য উপকারী।

  3. 3

    নীরবে ত্রুটি দেখান

    প্রগ্রেস বার দমন করতে (-s) কিন্তু তবুও ত্রুটি দেখাতে (-S) curl -sS URL চালান। স্ক্রিপ্টের জন্য আদর্শ যেখানে আপনি পরিষ্কার আউটপুট চান কিন্তু ব্যর্থতা ধরতে চান।

সচরাচর জিজ্ঞাসিত প্রশ্নাবলী

curl এক্সিট কোড কীভাবে পরীক্ষা করবেন?

curl কমান্ড চালানোর পর, এক্সিট কোডটি শেলের বিশেষ ভেরিয়েবলে সংরক্ষিত থাকে। Bash/Zsh-এ, curl কমান্ডের পরপরই echo $? চালান। PowerShell-এ, $LASTEXITCODE ব্যবহার করুন। স্ক্রিপ্টে, একটি শর্ত দিয়ে পরীক্ষা করতে পারেন: if curl -sf URL; then echo "OK"; else echo "Failed with code $?"; fi। এক্সিট কোড 0 মানে সাফল্য; অন্য যেকোনো সংখ্যা একটি ত্রুটি নির্দেশ করে। HTTP স্ট্যাটাস কোড এবং curl এক্সিট কোড উভয়ই দেখতে, একত্র করুন curl -w "%{http_code}" -o /dev/null -s URL; echo "Exit: $?"। লক্ষ্য করুন যে curl-এর এক্সিট কোড HTTP স্ট্যাটাস কোড থেকে আলাদা — আপনি --fail ফ্ল্যাগ ব্যবহার না করলে curl HTTP 404-এও 0 ফেরত দেয়।

curl error 28 (অপারেশন টাইমআউট) কীভাবে সমাধান করবেন?

Error 28 মানে রিকোয়েস্টটি সর্বোচ্চ অনুমোদিত সময় অতিক্রম করেছে। প্রথমে, টাইমআউট বাড়ান: curl --connect-timeout 30 --max-time 120 URL--connect-timeout TCP সংযোগ পর্যায় সীমিত করে, আর --max-time সম্পূর্ণ অপারেশন সীমিত করে। এরপর, curl -v URL দিয়ে বাধার স্থান নির্ণয় করুন — verbose আউটপুট দেখায় curl ঠিক কোথায় আটকে আছে (DNS, connect, TLS, বা transfer)। সাধারণ সমাধান: আপনার নেটওয়ার্ক সংযোগ ও DNS সেটিংস পরীক্ষা করুন, সার্ভার সাড়া দিচ্ছে কিনা যাচাই করুন (ping এবং telnet), --noproxy '*' দিয়ে প্রক্সি বাইপাস করুন, এবং বড় ডাউনলোডের জন্য স্বয়ংক্রিয় পুনঃচেষ্টার জন্য --retry 3 --retry-delay 5 যোগ করুন।

curl SSL সার্টিফিকেট ত্রুটি (error 60) কীভাবে সমাধান করবেন?

Error 60 মানে curl সার্ভারের SSL সার্টিফিকেট যাচাই করতে পারছে না। সমাধান কারণের উপর নির্ভর করে। একটি পুরনো CA বান্ডলের জন্য: https://curl.se/ca/cacert.pem থেকে একটি নতুন ডাউনলোড করুন এবং curl --cacert /path/to/cacert.pem URL ব্যবহার করুন। Docker কন্টেইনারের জন্য: ca-certificates প্যাকেজ ইনস্টল করুন (apt-get install ca-certificates)। ডেভেলপমেন্টে self-signed সার্টিফিকেটের জন্য: যাচাইকরণ এড়াতে curl -k URL ব্যবহার করুন — তবে কখনোই প্রোডাকশনে -k ব্যবহার করবেন না কারণ এটি সমস্ত সার্টিফিকেট পরীক্ষা নিষ্ক্রিয় করে। সমস্যা নির্ণয়ের জন্য: সার্টিফিকেট চেইন পরীক্ষা করতে openssl s_client -connect host:443 -showcerts চালান। সার্টিফিকেটের মেয়াদ শেষ হয়ে গেলে বা হোস্টনেম না মিললে, সমস্যাটি সার্ভার সাইডে।

curl error 7 (সংযোগ ব্যর্থ) এর অর্থ কী?

Error 7 মানে curl হোস্টনেমকে IP অ্যাড্রেসে রেজলভ করেছে কিন্তু TCP সংযোগ স্থাপন করতে পারেনি। সার্ভার সক্রিয়ভাবে সংযোগ প্রত্যাখ্যান করেছে অথবা নেটওয়ার্ক স্তরে সংযোগ চেষ্টা টাইমআউট হয়েছে। সাধারণ কারণ: লক্ষ্য হোস্টে সার্ভিস চালু নেই (systemctl status বা docker ps দিয়ে পরীক্ষা করুন), একটি ফায়ারওয়াল পোর্ট ব্লক করছে (telnet host port দিয়ে পরীক্ষা করুন), আপনি ভুল পোর্ট ব্যবহার করছেন (যেমন, 443-এর বদলে 80, বা ডেভ সার্ভারের জন্য 8080), অথবা সার্ভারের লিসেন ব্যাকলগ পূর্ণ অত্যধিক লোডের কারণে। ডিবাগ করতে: curl -v URL ব্যবহার করুন এবং আউটপুটে "Connected to" অথবা "Connection refused" খুঁজুন।