আমার ক্ষেত্রে, আমি অধৈর্য হয়েছি এবং লগটির ভুল ব্যাখ্যা দিয়ে শেষ করেছি।
আসলে, আসল সমস্যাটি ছিল এনজিনেক্স এবং উউজগির মধ্যে যোগাযোগ, না ব্রাউজার এবং এনজিনেক্সের মধ্যে। আমি যদি আমার ব্রাউজারে সাইটটি লোড করে থাকতাম এবং দীর্ঘ সময় অপেক্ষা করতাম তবে আমি একটি "504 - ব্যাড গেটওয়ে" অর্জন করতে পারতাম। তবে এটি এত দীর্ঘ সময় নিয়েছে যে আমি স্টাফ চেষ্টা করে চলেছি এবং তারপরে ব্রাউজারে রিফ্রেশ করেছি। 504 ত্রুটিটি দেখার জন্য আমি কখনই যথেষ্ট অপেক্ষা করিনি। ব্রাউজারে রিফ্রেশ করার সময়, যখন পূর্বের অনুরোধটি বন্ধ হয়, এবং এনগিনেক্স লিখেছেন যে লগটিতে 499 হিসাবে লেখা আছে।
বিবরণাদি
এখানে আমি ধরে নেব যে আমি যখন চারপাশে খেলা শুরু করি তখন পাঠক আমার মতোই কম জানেন।
আমার সেটআপটি ছিল একটি বিপরীত প্রক্সি, এনগিনেক্স সার্ভার এবং একটি অ্যাপ্লিকেশন সার্ভার, এর পেছনের ইউডাব্লুএসজিআই সার্ভার। ক্লায়েন্টের সমস্ত অনুরোধগুলি nginx সার্ভারে যাবে, তারপরে uWSGI সার্ভারে পাঠানো হবে এবং তারপরে একইভাবে প্রতিক্রিয়া পাঠানো হয়েছিল। আমি মনে করি সবাই এভাবেই এনজিনেক্স / ইউউজি ব্যবহার করে এবং এটি ব্যবহার করার কথা।
আমার এনজিনেক্স যেমনটি করা উচিত কাজ করেছিল তবে উউজি সার্ভারে কিছু ভুল ছিল। দুটি উপায় আছে (সম্ভবত আরও) যা ইউউজি সার্ভারটি এনজিএনএক্স সার্ভারটিতে প্রতিক্রিয়া জানাতে ব্যর্থ হতে পারে।
1) ইউডাব্লুএসজিআই বলে, "আমি প্রক্রিয়াজাত করছি, অপেক্ষা করুন এবং শীঘ্রই আপনি একটি প্রতিক্রিয়া পাবেন"। এনগিনেক্সের একটি নির্দিষ্ট সময়কাল থাকে, এটি অপেক্ষা করতে ইচ্ছুক, fx 20 সেকেন্ড। এর পরে, এটি 504 ত্রুটি সহ ক্লায়েন্টকে প্রতিক্রিয়া জানাবে।
2) ইউডাব্লুএসজিআই মারা গেছে, বা এনজিএনএক্স অপেক্ষা করার সময় ইউডাব্লুএসজিআই মারা যায়। nginx এখনই এটি দেখতে পায় এবং সেই ক্ষেত্রে এটি 499 ত্রুটি প্রদান করে।
আমি ক্লায়েন্ট (ব্রাউজার) এ অনুরোধ করে আমার সেটআপটি পরীক্ষা করছিলাম। ব্রাউজারে কিছুই ঘটেনি, এটি কেবল ঝুলিয়ে রাখা হয়েছে। সম্ভবত 10 সেকেন্ড পরে (সময়সীমার চেয়ে কম) আমি এই সিদ্ধান্তে পৌঁছেছি যে কিছু ঠিক নেই (যা সত্য ছিল), এবং কমান্ড লাইন থেকে uWSGI সার্ভারটি বন্ধ করে দিয়েছে। তারপরে আমি uWSGI সেটিংসে যাব, নতুন কিছু চেষ্টা করব এবং তারপরে uWSGI সার্ভারটি পুনরায় চালু করব। আমি uWSGI সার্ভারটি বন্ধ করার মুহুর্তে, nginx সার্ভারটি 499 ত্রুটি ফিরিয়ে দেবে।
সুতরাং আমি 499 এরো দিয়ে ডিবাগিং চালিয়েছি, যার অর্থ 499 ত্রুটির জন্য গুগলিং। তবে আমি যদি দীর্ঘ অপেক্ষা করতাম তবে আমি 504 ত্রুটিটি পেয়েছি। আমি যদি 504 ত্রুটিটি অর্জন করতে পারি তবে আমি সমস্যাটি আরও ভালভাবে বুঝতে সক্ষম হয়েছি এবং তারপরে ডিবাগ করতে সক্ষম হব।
সুতরাং উপসংহারটি হ'ল, সমস্যাটি ইউডাব্লুজিএসআই-এর সাথে ছিল, যা ঝুলিয়ে রেখেছিল ("কিছুক্ষণ অপেক্ষা করুন, আরও খানিকক্ষণ অপেক্ষা করুন, তবে আপনার উত্তর আমার কাছে থাকবে ...")।
আমি কীভাবে এই সমস্যাটি স্থির করেছি , মনে নেই। আমার ধারণা এটি অনেক কিছুর কারণে হতে পারে।