מטמון ACL חיצוני של Squid: מדוע העוזר אינו נקרא בכל פעם
תכננו עוזרי ACL חיצוניים של Squid סביב תהליכים מתמשכים, מפתחות מטמון של החלטות ודרישת רעננות מפורשת של הרשאה.
עוזר שרושם בקשה אחת ואז שותק יכול להיות תקין. Squid יכול להעריך כלל באמצעות תוצאת ACL חיצונית שמורה במטמון בלי לשלוח לעוזר שאילתה נוספת.
תחילה הגדירו את ההחלטה הניתנת לשימוש חוזר. „האם חשבון זה רשאי להשתמש בפרוקסי?“ דורש קלט שונה מ„האם חשבון זה רשאי להגיע ליעד זה?“ הפורמט המורחב של ACL חיצוני יוצר את מפתח המטמון. אם העוזר מחליט לפי שם משתמש ויעד אך המפתח כולל רק את שם המשתמש, אישור שמור במטמון עלול לחול רחב מהמתוכנן. כללו כל קלט שמשנה את התשובה והימנעו מפרטים שרק מפצלים החלטות שקולות.
לאחר מכן בחרו רעננות. ttl ו-negative_ttl חיוביים שולטים בתוצאות תואמות ובלתי תואמות; grace יכול להתחיל רענון לפני שרישומה פגה. החליטו כמה זמן אישור שמור במטמון של חשבון שבוטל רשאי להשפיע על החלטות מאוחרות יותר. אף אחד מהגדרות אלה אינו מאשר מחדש מנהרת CONNECT קיימת לכל בייט או בקשת HTTPS פנימית. אם העוזר אוכף מכסת תעבורה, העברות שאושרו עשויות להימשך לאחר שהמאזן משתנה.
העוזר הוא משתתף פרוטוקול מתמשך, לא בהכרח תהליך סקריפט חדש לכל בקשה. החזיקו אותו מוכן לשורות שאילתה עוקבות ושלחו כל תשובה מיד. שימו אבחון בערוץ אחר. כשהמקביליות מופעלת, החזירו את מזהה הערוץ שסופק בהתאם.
לבסוף, הגדירו תוצאות איטי, לא זמין ושגיאה פנימית, וגרמו לסדר ה-ACL שמסביב להפיק אותן. התכן שלם כאשר גם הספציפיות וגם הגיל המותר של תשובה הניתנת לשימוש חוזר תואמים לדרישת הגישה.