Squid-ის გარე ACL-ის ქეშირება: რატომ არ იძახება დამხმარე ყოველ ჯერზე
დააპროექტეთ Squid-ის გარე ACL დამხმარეები მუდმივი პროცესების, გადაწყვეტილების ქეშის გასაღებების და ავტორიზაციის სიმწიფის ცხადი მოთხოვნის ირგვლივ.
დამხმარე, რომელიც ერთ მოთხოვნას ჟურნალში იწერს და შემდეგ ჩუმდება, ნორმალური შეიძლება იყოს. Squid შეიძლება წესი შეაფასოს ქეშირებული გარე ACL შედეგით დამხმარესთან ახალი მოთხოვნის გაგზავნის გარეშე.
ჯერ განსაზღვრეთ ხელახლა გამოსაყენებელი გადაწყვეტილება. „შეიძლება ამ ანგარიშმა პროქსის გამოყენება?“ სხვა შეყვანას მოითხოვს, ვიდრე „შეიძლება ამ ანგარიშმა ამ დანიშნულების მიღწევა?“ გაფართოებული გარე ACL ფორმატი ქმნის ქეშის გასაღებს. თუ დამხმარე გადაწყვეტს მომხმარებლის სახელითა და დანიშნულებით, მაგრამ გასაღები მხოლოდ სახელს შეიცავს, ქეშირებული დაშვება უფრო ფართოდ შეიძლება გავრცელდეს, ვიდრე გათვალისწინებული იყო. შეიტანეთ პასუხის შემცვლელი ყველა შეყვანა და მოერიდეთ დეტალებს, რომლებიც მხოლოდ ეკვივალენტურ გადაწყვეტილებებს აქუცმაცებს.
შემდეგ აირჩიეთ სიმწიფე. დადებითი ttl და negative_ttl მართავს დამთხვევად და არადამთხვევად შედეგებს; grace შეუძლია განაახლოს ჩანაწერის ვადის ამოწურვამდე. გადაწყვიტეთ, რამდენ ხანს შეიძლება გაუქმებული ანგარიშის ქეშირებული დაშვება გავლენა მოახდინოს შემდგომ გადაწყვეტილებებზე. არც ერთი ეს პარამეტრი ხელახლა არ ავტორიზებს დამყარებულ CONNECT გვირაბს ყოველი ბაიტის ან შიდა HTTPS მოთხოვნისთვის. თუ დამხმარე ტრაფიკის კვოტას ახორციელებს, ნებადართული გადაცემები შეიძლება გაგრძელდეს ბალანსის შეცვლის შემდეგ.
დამხმარე მუდმივი პროტოკოლის მონაწილეა, არა აუცილებლად ახალი სკრიპტის პროცესი ყოველი მოთხოვნისთვის. შეინახეთ ის მზად თანმიმდევრული მოთხოვნის სტრიქონებისთვის და თითოეული პასუხი დაუყოვნებლივ გაგზავნეთ. დიაგნოსტიკა სხვა არხზე განათავსეთ. პარალელურობის ჩართვისას დააბრუნეთ შესაბამისი მოწოდებული არხის იდენტიფიკატორი.
და ბოლოს, განსაზღვრეთ ნელი, მიუწვდომელი და შიდა შეცდომის შედეგები და უზრუნველყავით, რომ მიმდებარე ACL თანმიმდევრობამ ისინი წარმოქმნას. დიზაინი დასრულებულია, როცა ხელახლა გამოსაყენებელი პასუხის სპეციფიკურობაც და დასაშვები ასაკიც შეესაბამება წვდომის მოთხოვნას.