עבור פרוקסי קדמי של Squid שצריך לשנות תגובת HTML, השתמשו במסלול ההתאמה. Squid מטפל בבקשת הפרוקסי של הדפדפן; שירות תגובות ICAP מבצע את שינוי הגוף ומחזיר את הודעת ה-HTTP המותאמת.

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

חיבור שירות תגובות

עבור בניית Squid 7 עם תמיכת ICAP ושירות תואם קיים, צורת התצורה היא:

acl adaptation_clients src 192.0.2.0/24

icap_enable on
icap_service html_editor respmod_precache bypass=0 icap://127.0.0.1:1344/modify

adaptation_access html_editor allow adaptation_clients
adaptation_access html_editor deny all

טווח הלקוחות וה-URI של השירות הם דוגמאות. ה-URI חייב לציין שירות ICAP אמיתי שמממש את שינוי התגובה; הצהרה על /modify אינה יוצרת אחד. הקטע משלים את המאזין הקיים של הפרוקסי ואת בקרות הגישה שלו.

respmod_precache בוחר התאמת תגובות בנקודה שלפני המטמון. adaptation_access בוחר עסקאות עבור אותו שירות. ההגדרה bypass=0 פירושה ש-Squid אינו יכול לדלג בשקט על שירות זה כאשר עסקה רלוונטית נתקלת בכשל של השירות. בחרו את התנהגות הכשל הזו לפי האם השינוי נדרש.

הנחיות ההתאמה תלויות בגרסה. בפרט, מסמכי התצורה האלה מפרטים את ממשקי שירות ה-ICAP והגישה להתאמה עבור Squid 7 וקווים נתמכים קודמים, ומסמנים אותם כלא זמינים ב-Squid 8. התייחסו לקטע כדוגמה ל-Squid 7 במקום להעתיק אותו לגרסה שרירותית.

לתת לשירות חוזה שינוי מדויק

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

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

לבסוף, מנהרת HTTPS CONNECT רגילה נושאת בייטים מוצפנים. היא אינה חושפת HTML למתאם תגובות. פריסת בדיקת TLS המנוהלת בכוונה זקוקה לתצורה תואמת משלה ולאמון הלקוח לפני שתגובות מפוענחות יכולות להיכנס למסלול הזה. כלל ICAP לבדו אינו מוסיף את הנראות הזו.

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