Squid не е само прокси и кеш услуга, той може да направи много повече: управлява acl (списъци за достъп), филтрира съдържание, дори може да прави ssl филтриране дори в прозрачен режим (прокси метод - без да се налага да конфигурирате в настройките на прокси сървъра от техните браузъри, това е като човек в средата, никой не знае, че е там). Така че обикновено виждам как се пропиля пълният потенциал на това приложение, тъй като не знам как да конфигурирам всяка негова част.
Сега интересното, което прави калмарите, е кешът (по мое мнение). Ще ми кажете, защо кеширане? Причината е проста, по-доброто управление на използването на вашата скорост и честотна лента е основното. Помислете внимателно, 1000 души във вашата компания се консултират на всеки 5 минути, общи страници, Google, Hotmail, Gmail и т.н. ... така че да изтегляте изображения, банери, реклама, html съдържание отново и отново, всичко това са статични неща, не Те се променят толкова често, по-добре да ги съхранявате във вашата локална мрежа и вие доставяте копие, което смятате за скорошно в рамките на конфигурациите, които сте разгледали.
Как да го направя? Просто със следното изречение:
refresh_pattern [-i] regex min percent max [options]
Както винаги казвам, не вярвайте на всичко, затова ви каня да прочетете от официалния източник. Препоръчвам ви да прочетете ръководството на това изречение ТУК
Изречение шаблон_за_опресняване Винаги ще бъде нашият етикет за добавяне на нови параметри към кеша.
Важно е, че вашите кеш списъци трябва да са последователни, защото след като съвпадат с първия, който съответства на обекта, той няма да продължи да чете другите ви правила
Регулярните изрази са чувствителни към малки и големи букви, следователно flv не е същото като FLV, но можете да избегнете това, ако желаете, като използвате опцията -i . Тогава би изглеждало така шаблон за опресняване -i
„Мин.“: Това е времето (минути), в което даден обект ще се счита за „скорошен или свеж“ и ако няма изричен етикет „изтекла“. По подразбиране squid препоръчва да е 0, поради причини, че някои динамични приложения могат да се държат странно, чисто бла бла бла, наистина тази стойност трябва да е число, което смятате за полезно и ефективно за елементите, които искате да кеширате, пример: jpg, 1440 минути (на ден) ми се струва добре, не е като ако изображенията на публикация се сменят на всеки 5 минути на страница.
„Процент“ Това е процентът на възрастта на даден обект (от последната модификация), който ще се счита за „скорошен или нов“. Позволете ми да обясня, може би като правите постоянно презареждане или опресняване, за да видите последните модификации, направени на уеб страница, squid може да помисли дали вече има, да речем, 50% от времето, завършено между мин y макс, изтеглете отново този обект от интернет и ви дайте ново копие.
"Макс" е границата над или равна на "Мин" колко дълго обектът се счита за „скорошен или свеж“, да предположим, че изображение на дадена страница е било използвано само веднъж от потребител, че този обект вече е достигнал времето мин, но не и макс, след това при повторно заявяване ще бъде доставено копие на кеша.
Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale
Тези опции бяха направени най-вече за игнориране на предварително установено поведение в езици и протоколи, за да се гарантира ефективното използване на кеша.
override-expire
Той налага минималното време на обект, дори ако сървърът е изпратил по-кратко време на изтичане (например неща като заглавка или Cache-Control: max-age). Ако направим това, ще се появи „предупреждение“, казващо неща като това „НАРУШАВА HTTP стандарта“, но това са само предупреждения, които можем да игнорираме. Сега, ако времето, което сървърът изпраща, е по-дълго, тогава калмарите ще отнемат времето (изтичането) на сървъра
override-lastmod
Подсилва минималното време на елемент, дори ако този елемент е бил наскоро модифициран.
reload-into-ims
Краткото обяснение е, че предотвратява, че когато натиснем бутона за опресняване или направим заявка без кеш, squid ще достави кеш, ако не е бил „модифициран от“ и / или ако на страницата няма „заглавки“.
ignore-reload
Игнорирайте действието на потребителите за натискане на бутона за презареждане или опресняване на страницата
ignore-no-store
Игнорирайте всяко правило в заглавията да не се кешира, например за видеоклипове
ignore-private
Игнорирайте всяко правило в заглавките на частното съдържание, което не трябва да се кешира, пример: съдържание във facebook.
refresh-ims
Squid се свързва със сървъра, за да се увери дали обектът е най-новият. Ако е така, той ще достави кеш
store-stale
Squid ще запази всички тези отговори, дори ако те нямат дата на изтичане, това е много непрактично, тъй като те обикновено не могат да бъдат използвани повторно. Ако решите да го активирате, трябва да декларирате max-stale = NN
max-stale=NN
Ако сте активирали горното, трябва да декларирате максимален живот за този отговор или фактор. Squid не доставя обекти от този стил, но може да го потвърди с източника
Ето таблица за това как работи състоянието на прясното „СВЕЖО“ според стойностите, които обсъдихме:
- FRESH ако изтече> сега, в противен случай STALE
- ПРОДАЖБА ако възраст> макс
- СВЕЖ, ако lm-фактор <процента, в противен случай ПРОДАЖБА
- СВЕЖ, ако възраст <мин. Друго КРАДЕТЕ
Ето примерна конфигурация за конкретна компания с много дисково пространство, добро оборудване и добра честотна лента
refresh_pattern -i \.(3gp|7z|ace|asx|bin|deb|divx|dvr-ms|ram|rpm|exe|inc|cab|qt)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)|arj|lha|lzh|zip|tar)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|dat|ad|txt|dll)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
refresh_pattern -i \.(avi|ac4|mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rm|r(a|p)m|snd|vob)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
refresh_pattern -i \.(pp(t?x)|s|t)|pdf|rtf|wax|wm(a|v)|wmx|wpl|cb(r|z|t)|xl(s?x)|do(c?x)|flv|x-flv)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
cache_mem 8092 MB
Сега кешът е не само на твърдия диск, ние също можем да кешираме RAM паметта, тази стойност е за всеки процес на калмари, така че трябва да го вземете предвид, когато използвате редиректори като squidGuard
maximum_object_size_in_memory 1024 KB
Максималният размер на обекта в паметта, който калмарите ще съхраняват в RAM. Можете също така да декларирате минимум.
memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF
Както можете да видите, едната е политиката за подмяна на кеш паметта в RAM паметта, а другата в твърдия диск. Има 2 политики GDSF и LFUDA. Първият се стреми да подобри процента на посещенията в кеша, като има много малки обекти под ръка, вторият търси обратното, той държи обектите в кеша, независимо от техния размер.
Въпросът, който си представям, че ми задавате в момента, е каква полза да използвам? Е, ако смятате, че във вашата среда те правят много запитвания и малко изтегляния използват GDSF, ако напротив правят много изтегляния и малко LFUDA заявки. Че ако препоръчвам LFUDA, когато ще правите, не знам, кеширане в 1TB диск, това е по-ефективно.
maximum_object_size 4 MB
Максималният размер, който даден обект може да трябва да бъде съхранен
cache_dir aufs /media/proxy249/cache 100 16 256
Къде ще се съхранява кешът, вниманието тук е важно, ако използвате ufs, aufs или diskd, всичките 3 работят горе-долу еднакво, разликата е, че aufs и diskd работят с отделни процеси, за да извършват I / O операции на твърдия диск и избягвайте, че процесите на калмари висят по време на тези операции, освен това можете да посочите броя нишки, които ще имате за тази задача. Препоръчвам aufs, ако имате добър екип.
Размер 100 (мегабайта), можете да сложите 100000 е почти 100GB зависи от вашата наличност. 16 е броят на папките, а 256 е броят на подпапките. Можете да играете с двете стойности в зависимост от това колко бързи са дисковете ви и колко ресурси имате.
cache_swap_low 90
cache_swap_high 95
Тези опции са заместващите стойности на обекти, това е минималната и максималната стойност като воден знак според калмари, където тези числа са в проценти (%), а в много малък кеш, 5% като този в момента биха били да кажем 300 обекта в секунда , но в много големи кешове ще говорим за хиляди MB
Е, там ви оставям, това засега, коментирайте И също така вземете под внимание онези, които ми казаха, че не могат да кешират и филтрират https (SSL) страници в squid 3.5 или по-нова версия, скоро ще ви ги донеса, следете този блог.
Отлично допълнение към първата част!
Има много литература за Squid за това, но стигането до точката в най-практичните опции със съответните им обяснения и възможни сценарии за реална употреба не винаги са под ръка!
Както винаги, с нетърпение очаквам третата част от него!
Благодаря за вашия коментар. Правилно е, сбито обяснение на всички съответни елементи и настройка на най-добрите практики. Винаги обаче съм внимателен към вашите коментари и собствен опит.
Здравейте, имам проблем с актуализациите на Windows и антивирусната програма. Имам приблизително 120 бр. В моята институция. Бихте ли ми дали идея как да подобря тази ситуация. Благодаря за вашата помощ и поздравления за статията.
Здравейте, благодаря за участието .. добре, ако мога да ви помогна, но обяснете добре какъв е вашият проблем, не можете да изтеглите актуализациите? Сложихте ли прокси в опциите за интернет и същото в опциите за прокси на вашия браузър? Проверихте ли портовете? Или искате да кеширате тези актуализации?
Това, от което се нуждая, е, че всеки път, когато компютър изтегли Windows или антивирусна актуализация, той остава в кеша за период от около един месец, по този начин бих искал да спестявам честотна лента, тъй като всяка сутрин всички компютри започват да изтеглят едни и същи актуализации и връзката се насища.
Благодаря за вашата помощ.
Сървър с Squid работи, тъй като те са прости некриптирани http изтегляния. Други решения за кеш са WSUS и Altiris, нормални за компаниите.
Благодаря Марио ще го имам предвид.
добре готови, разбирам, проверете тази връзка. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. за да кеширате антивирус, трябва да знаете откъде се изтеглят актуализациите и под какво разширение (пример .exe) и да го кеширате ...
Благодаря за вашата помощ.
Добро утро приятели, бихте ли ме подкрепили с моя случай. тъй като имам squid 2.7 .STABLE9 на debian 6 и имам всичко конфигурирано и когато го монтирам в 10 pc среда, получавам нормална поща, проблемът се крие, когато го монтирам за 90 pc, той продължава само няколко секунди и оттам всички са остават без интернет. Бихте ли ме подкрепили?
Отлично обяснение, основно, но много ясно и точно. Лично най-доброто обяснение, което успях да прочета.
Имам въпрос, възможно ли е да кеширам приложения за Android като apk и xapk?
И какъв би бил правилният начин за конфигуриране на динамичен кеш независимо от произхода на файловете?
Използвам pfSense 2.4.5.