آپ کا Magento ری ڈائریکٹ لوپ شاید VPN نہیں ہے
302 منزل ریکارڈ کرتا ہے، وجہ نہیں۔ کنفیگریشن میں ترمیم سے پہلے Location زنجیر، بنیادی URL، پراکسی اسکیم ہیڈر اور سیشن کوکی کا موازنہ کریں۔
آپ ایکسیس لاگ میں 302 دیکھتے ہیں، اسٹور فرنٹ VPN کے ذریعے لوڈ نہیں ہوتا، اور نتیجہ خود لکھا جاتا ہے۔ یہ نتیجہ عام طور پر دلچسپ انداز میں غلط ہوتا ہے۔ ری ڈائریکٹ جواب اُس منزل کو ریکارڈ کرتا ہے جہاں براؤزر کو جانے کو کہا گیا، اور یہ نہیں بتاتا کہ مسئلہ ٹنل، سرٹیفکیٹ یا ایپلیکیشن نے پیدا کیا۔ لاگ کی سطر تحقیق کا آغاز ہے، اُس کا نتیجہ نہیں۔
302 بتاتا ہے کہاں، کیوں نہیں
ایکسیس لاگ کا اندراج درخواست، حالت اور حجم ریکارڈ کرتا ہے، اور عام طور پر وہ Location ہیڈر چھوڑ دیتا ہے جو اہم ہے۔ ایک ری ڈائریکٹ بالکل معمول کا ہو سکتا ہے: ایک معیاری ہوسٹ نام، آخری سلیش کی معمول بندی، HTTPS پر منتقلی۔ آپ کو ترتیب چاہیے، کیونکہ ایک چھلانگ اور ایک لوپ مختلف خرابیاں ہیں جن کے مالک مختلف ہیں۔ اسکیموں کے درمیان بار بار چھلانگیں URL اور اسکیم کی سنبھال کی طرف اشارہ کرتی ہیں۔ لیکن ایسے نام کی طرف چھلانگ جسے براؤزر حل نہیں کر سکتا، بالکل کسی اور جگہ کی طرف اشارہ کرتی ہے۔
ان میں سے کوئی بھی VPN کے بارے میں ثبوت نہیں۔ ٹنل ایک راستہ ہے؛ ری ڈائریکٹ وہ ہدایت ہے جو ایپلیکیشن نے لکھی۔
لاگ کی سطر نہیں، زنجیر پکڑیں
براؤزر کا نیٹ ورک ویو استعمال کریں اور ہر چھلانگ کے لیے چار فیلڈ ریکارڈ کریں: مطلوبہ URL، حالت، Location ہیڈر اور وقت۔ آخری جواب یا کنکشن کی خرابی پر ختم کریں، کیونکہ دلچسپ معاملہ وہ چھلانگ ہے جو کبھی مکمل نہیں ہوتی۔ یہ ایک بار کام کرنے والے راستے پر اور ایک بار ناکام راستے پر کریں، اسی اکاؤنٹ اور اسی نیویگیشن کے ساتھ۔ دو زنجیروں کا موازنہ لاگ کی کسی بھی ایک سطر سے زیادہ قیمتی ہے۔
وہ ریکارڈ نجی رکھیں۔ URL سیشن شناخت کنندگان لے کر چلتے ہیں، اور محفوظ شدہ براؤزر آرکائیو آپ کی توقع سے زیادہ لے کر چلتا ہے۔ ٹکٹ میں کچھ چسپاں کرنے سے پہلے کوئری اسٹرنگز ہٹا دیں۔
ایپلیکیشن کا اپنے URL کے بارے میں تصور
Magento کنفیگریشن سے مطلق URL بناتا ہے، ہر ویب سائٹ یا اسٹور ویو کے مطابق محدود۔ bin/magento config:show web/secure/base_url وہ قدر چھاپتا ہے جس پر ایپلیکیشن یقین رکھتی ہے، اور یہ اکثر کوئی ہوسٹ نام ہوتا ہے جو بلڈ یا مائیگریشن سے بچا ہو، نہ کہ وہ جو براؤزر نے استعمال کیا۔ اگر وہاں اندرونی ہوسٹ کا نام ہو، تو براؤزر کو ایسی جگہ بھیجا جاتا ہے جہاں وہ پہنچ نہیں سکتا، اور ٹنل میں کوئی تبدیلی اِسے درست نہیں کرتی۔
محفوظ اور غیر محفوظ بنیادی URL کا اپنے سامنے موجود عوامی ناموں سے موازنہ کریں۔ ان میں سے کسی ایک میں عدم مطابقت وہی ری ڈائریکٹ پیدا کرتی ہے جسے آپ دیکھ رہے ہیں۔
قابلِ اعتماد پراکسی ہیڈر ایک معاہدہ ہوتے ہیں
جب TLS لوڈ بیلنسر پر ختم ہوتا ہے، ایپلیکیشن سادہ HTTP دیکھتی ہے اور اُسے اس کے برعکس بتانا پڑتا ہے۔ آف لوڈر ہیڈر سیٹنگ اُس ہیڈر کا نام دیتی ہے جو پراکسی مقرر کرتی ہے، جیسے فارورڈ شدہ پروٹوکول، اور ایپلیکیشن اسکیم کے فیصلوں میں اُس پر بھروسا کرتی ہے۔
یہ بھروسا ایک پراکسی کے ساتھ معاہدہ ہے، عمومی اجازت نہیں۔ من مانی کلائنٹس سے ہیڈر قبول کرنے سے کوئی بھی اسکیم کا دعویٰ کر سکتا ہے، اسی لیے یہ صرف وہیں ہونا چاہیے جہاں مقرر کردہ پراکسی اُسے مقرر کرتی ہے۔ اگر ہیڈر کا نام اور پراکسی کا رویہ متفق نہ ہوں، تو ایپلیکیشن ایسی اسکیم کی طرف ری ڈائریکٹ بناتی ہے جو براؤزر نے کبھی استعمال نہیں کی، اور لوپ بند ہو جاتا ہے۔ پراکسی کنفیگریشن اور ایپلیکیشن سیٹنگ ایک ساتھ جانچیں، پھر تبدیلی نافذ ہونے کے لیے کنفیگریشن کیش صاف کریں۔
جب لوپ سیشن ہو، راستہ نہیں
جو زنجیر ہمیشہ سائن اِن پر واپس آتی ہے وہ عام طور پر کوکی کا مسئلہ ہوتی ہے۔ جانچیں کہ سیشن کوکی اُس ہوسٹ نام کے لیے جاری ہوئی تھی جو براؤزر نے واقعی استعمال کیا، اور کیا اُسے اُس کنکشن پر محفوظ کے طور پر نشان زد کیا گیا جسے براؤزر محفوظ سمجھتا ہے۔ غلط ڈومین سے منسلک کوکی ایسا لاگ اِن لوپ بناتی ہے جو بالکل روٹنگ کی ناکامی جیسا لگتا ہے۔
ثابت شدہ عدم مطابقت کو اُس کے مالک کے پاس درست کریں، چاہے وہ بنیادی URL ہو، کوکی ڈومین ہو یا پراکسی معاہدہ، پھر ایک 302 کے غائب ہونے کو دیکھنے کے بجائے پوری نیویگیشن دوبارہ جانچیں۔ لوپ توڑنے کے لیے HTTPS تقاضے بند کرنا ری ڈائریکٹ کو مزید خراب مسئلے سے بدل دیتا ہے۔ تبدیلی مکمل ہونے کے بعد ٹنل الگ سے جانچیں: کوئی معلوم نجی وسیلہ طلب کریں اور تصدیق کریں کہ وہ پہنچتا ہے، تاکہ اگلے ری ڈائریکٹ کے پاس موازنے کے لیے صاف بنیاد ہو۔