אתם רואים 302 ביומן הגישה, החנות אינה נטענת דרך ה-VPN, והמסקנה כותבת את עצמה. המסקנה הזו שגויה בדרך כלל באופן מעניין. תגובת הפניה רושמת יעד שאליו נאמר לדפדפן ללכת, והיא אינה אומרת דבר על אם המנהרה, התעודה או האפליקציה יצרו את הבעיה. שורת היומן היא תחילת החקירה, לא הממצא שלה.

302 אומר לאן, לא למה

רשומה ביומן הגישה מתעדת את הבקשה, הסטטוס והגודל, והיא בדרך כלל משמיטה את כותרת ה-Location שחשובה. הפניה אחת יכולה להיות לגמרי רגילה: שם מארח קנוני, נרמול של הלוכסן הסוגר, מעבר ל-HTTPS. מה שדרוש הוא הרצף, מפני שקפיצה אחת ולופ הם תקלות שונות עם בעלים שונים. קפיצות חוזרות בין סכימות מצביעות על טיפול ב-URL ובסכימה. לעומת זאת, קפיצה לשם שהדפדפן אינו יכול לפתור מצביעה למקום אחר לגמרי.

שום דבר מזה אינו ראיה לגבי ה-VPN. המנהרה היא נתיב; ההפניה היא הוראה שהאפליקציה כתבה.

תפסו את השרשרת, לא את שורת היומן

השתמשו בתצוגת הרשת של הדפדפן ותעדו ארבעה שדות לכל קפיצה: כתובת ה-URL שהתבקשה, הסטטוס, כותרת ה-Location והזמן. סיימו בתגובה הסופית או בשגיאת החיבור, מפני שהמקרה המעניין הוא הקפיצה שלעולם אינה מושלמת. עשו זאת פעם אחת בנתיב שעובד ופעם אחת בזה שנכשל, עם אותו חשבון ואותה ניווט. השוואה בין שתי שרשראות שווה יותר מכל שורה בודדת ביומן.

שמרו את התיעוד הזה פרטי. כתובות URL נושאות מזהי סשן, וארכיון דפדפן שמור נושא יותר ממה שאתם מצפים. הסירו מחרוזות שאילתה לפני שמדביקים משהו בכרטיס.

תפיסת האפליקציה את כתובת ה-URL של עצמה

Magento מייצר כתובות URL מוחלטות מהתצורה, בהיקף של אתר או תצוגת חנות. bin/magento config:show web/secure/base_url מדפיס את הערך שהאפליקציה מאמינה בו, ולעיתים קרובות זהו שם מארח שנותר מבנייה או מהגירה במקום זה שהדפדפן השתמש בו. אם שם מצוין מארח פנימי, הדפדפן נשלח למקום שאינו יכול להגיע אליו, ושום שינוי במנהרה לא מתקן זאת.

השוו את כתובות ה-URL הבסיסיות המאובטחות והלא מאובטחות לשמות הציבוריים שלפניכם. אי-התאמה בכל אחת מהן מייצרת בדיוק את ההפניה שאתם בוהים בה.

כותרות proxy מהימן הן חוזה

כאשר TLS מסתיים במאזן עומסים, האפליקציה רואה HTTP פשוט ויש לומר לה אחרת. הגדרת כותרת ה-offloader מגדירה את הכותרת שה-proxy מציב, כגון הפרוטוקול המועבר, והאפליקציה סומכת עליה בהחלטות סכימה.

האמון הזה הוא חוזה עם proxy אחד, לא הרשאה כללית. קבלת הכותרת מלקוחות שרירותיים מאפשרת לכל אחד לטעון לסכימה, ולכן היא שייכת רק למקום שבו proxy מוגדר מציב אותה. אם שם הכותרת והתנהגות ה-proxy אינם תואמים, האפליקציה מייצרת הפניות לסכימה שהדפדפן מעולם לא השתמש בה, והלופ נסגר. בדקו את תצורת ה-proxy ואת הגדרת האפליקציה יחד, ואז רוקנו את מטמון התצורה כדי שהשינוי ייכנס לתוקף.

כאשר הלופ הוא סשן, לא נתיב

שרשרת שתמיד חוזרת לכניסה היא בדרך כלל בעיית עוגייה. בדקו אם עוגיית הסשן הונפקה עבור שם המארח שהדפדפן השתמש בו בפועל, ואם סומנה כמאובטחת בחיבור שהדפדפן מחשיב כמאובטח. עוגייה שמוגבלת לדומיין הלא נכון מייצרת לופ כניסה שנראה בדיוק כמו כשל ניתוב.

תקנו את אי-ההתאמה שהוכחה אצל הבעלים שלה, בין אם זו כתובת ה-URL הבסיסית, דומיין העוגייה או החוזה עם ה-proxy, ואז בדקו מחדש את כל הניווט במקום לצפות ב-302 אחד נעלם. ביטול דרישות HTTPS כדי לשבור את הלופ מחליף הפניה בבעיה חמורה יותר. כשהשינוי נעשה, בדקו את המנהרה בנפרד: בקשו משאב פרטי מוכר ואשרו שהוא מגיע, כדי שההפניה הבאה תהיה לה בסיס נקי להשוואה.

מאמרים קשורים