Blæksprutte er ikke kun en proxy- og cachetjeneste, den kan gøre meget mere: administrer ACL (adgangslister), filterindhold, den kan endda lave ssl-filtrering selv i gennemsigtig tilstand (proxymetode - uden at skulle konfigurere i proxyindstillinger fra deres browsere er det som en mand i midten, ingen ved, at det er der). Så jeg ser ofte, hvordan det fulde potentiale i denne applikation spildes ved ikke at vide, hvordan man konfigurerer hver af dens dele.
Nu er det interessante, som blæksprutte gør, cachen (efter min mening). Du vil fortælle mig, hvorfor cache? Årsagen er enkel, bedre styre brugen af din hastighed og båndbredde, det er det vigtigste. Tænk nøje, 1000 mennesker i din virksomhed konsulterer hvert 5. minut, almindelige sider, Google, Hotmail, Gmail osv ... så du vil downloade billeder, bannere, reklamer, html-indhold igen og igen, alle disse er statiske ting, nej De ændres så ofte, bedre at have dem gemt i dit lokale netværk, og du leverer en kopi, som du anser for nyligt inden for de konfigurationer, du overvejede.
Hvordan gør man det? Enkel med følgende sætning:
refresh_pattern [-i] regex min percent max [options]
Som jeg altid siger, tro ikke på alt, så jeg opfordrer dig til at læse fra den officielle kilde. Jeg anbefaler, at du læser manualen for denne sætning HER
Dømme opdater_mønster Det vil altid være vores etiket at tilføje nye parametre til cachen.
Vigtigt, dine cachelister skal være sekventielle, for når den matcher den første, der matcher objektet, fortsætter den ikke med at læse dine andre regler
Regulære udtryk er store og små bogstaver, derfor er flv ikke det samme som FLV, men du kan undgå dette, hvis du ønsker det ved at bruge indstillingen -i . Så ville det se sådan ud refresh_pattern -i
'Min': Det er det tidspunkt (minutter), hvor et objekt vil blive betragtet som "nyligt eller nyt", og hvis det ikke har en eksplicit etiket "udløbet". Som standard anbefaler blæksprutter, at det er 0 af grunde til, at nogle dynamiske applikationer kan opføre sig underligt, ren bla bla bla, virkelig skal denne værdi være et tal, som du anser for nyttigt og effektivt til de elementer, du vil cache, eksempel: jpg, 1440 minutter (om dagen) virker fint for mig, det er ikke som om billederne af et indlæg skifter hvert 5. minut på en side.
'Procent' Det er procentdelen af et objekts alder (siden den sidste ændring), der vil blive betragtet som "nyligt eller frisk". Lad mig forklare, måske laver en konstant genindlæsning eller opdatering for at se de sidste ændringer, der blev foretaget på en webside, kunne blæksprutte overveje, om den allerede har fx 50% af tiden afsluttet mellem minut y max, download det objekt igen fra internettet og giv dig en ny kopi.
'Max' er grænsen over eller lig med 'Min' hvor længe et objekt betragtes som "nyt eller nyt", antag at et billede af en side kun blev konsulteret en gang af en bruger, det objekt har allerede nået sin tid minut, men ikke max, så når den bliver spurgt igen, leveres en cache-kopi.
Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale
Disse muligheder blev hovedsagelig foretaget for at ignorere forudbestemte adfærd på sprog og protokoller for at garantere en effektiv brug af cachen.
override-expire
Det håndhæver minimumobjektet for et objekt, selvom serveren sendte en kortere timeout (f.eks. Ting som header eller Cache-Control: max-age). Hvis vi gør dette, vises en "advarsel", der siger ting som denne "VIRKLER HTTP-standarden", men det er bare advarsler, som vi kan ignorere. Hvis den tid en server sender er længere, tager blæksprutte nu serverens tid (udløb)
override-lastmod
Forstærker den minimale tid for en vare, selvom den for nylig blev ændret.
reload-into-ims
Den korte forklaring er, at det forhindrer, at når vi trykker på opdateringsknappen eller fremsætter en anmodning om ikke-cache, vil blæksprutter levere cache, hvis den ikke er blevet "ændret siden", og / eller hvis der ikke er nogen "overskrifter" på siden.
ignore-reload
Ignorer brugernes handling for at trykke på knappen Genindlæs eller opdater siden
ignore-no-store
Ignorer enhver regel i overskrifter for ikke at cache, f.eks. Videoer
ignore-private
Ignorer eventuelle regler i private indholdsoverskrifter, der ikke skal cachelagres, f.eks. Facebook-indhold.
refresh-ims
Blæksprutter kontakter serveren for at sikre, om objektet er det nyeste. Hvis det er tilfældet, leverer det cache
store-stale
Blæksprutte gemmer alle disse svar, selvom de ikke har en udløbsdato, er dette meget upraktisk, da de normalt ikke kan genbruges. Hvis du beslutter at aktivere det, skal du erklære max-stale = NN
max-stale=NN
Hvis du aktiverede ovenstående, skal du erklære en maksimal levetid for det svar eller den faktor. Blæksprutte leverer ikke objekter af denne stil, men kan validere det med kilden
Her er en tabel over, hvordan tilstanden af frisk "FRESH" fungerer i henhold til de værdier, vi har diskuteret:
- FRISK hvis udløber> nu, ellers STALE
- STALE hvis alder> maks
- FRISK hvis lm-faktor <procent, ellers FORFARET
- FRISK hvis alder <min ellers FORALT
Her er et eksempel på en konfiguration for et bestemt firma med meget diskplads, godt udstyr og god båndbredde
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
Nu er cachen ikke kun på harddisken, vi kan også cache RAM-hukommelsen, denne værdi er for hver blæksprutteproces, så du skal tage den i betragtning, når du bruger omdirigeringer som blæksprutteGuard
maximum_object_size_in_memory 1024 KB
Den maksimale størrelse på objektet i hukommelsen, som blæksprutter gemmer i RAM. Du kan også erklære et minimum.
memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF
Som du kan se, er den ene en politik for udskiftning af cache i RAM-hukommelse og en anden på harddisken. Der er 2 politikker GDSF og LFUDA. Den første søger at forbedre procentdelen af cache-hits, med mange små objekter ved hånden, den anden søger det modsatte, det holder objekter i cache uanset deres størrelse.
Det spørgsmål, som jeg forestiller mig, at du stiller mig i øjeblikket, er, hvad bruger jeg? Nå, hvis du overvejer at de i dit miljø gør mange forespørgsler, og få downloads bruger GDSF, hvis de tværtimod gør mange downloads og få LFUDA-forespørgsler . At hvis jeg anbefaler LFUDA, når du skal gøre det, ved jeg det ikke, cache i 1 TB disk, det er mere effektivt.
maximum_object_size 4 MB
Den maksimale størrelse, som et objekt muligvis skal lagres
cache_dir aufs /media/proxy249/cache 100 16 256
Hvor cachen gemmes, er opmærksomhed her, vigtigt, hvis du bruger ufs, aufs eller diskd, alle 3 fungerer mere eller mindre ens, forskellen er, at aufs og diskd arbejder med separate processer for at udføre I / O-operationerne på harddisk og undgå, at blæksprutteprocesser hænger under disse operationer. Desuden kan diskd du angive antallet af tråde, du har til denne opgave. Jeg anbefaler aufs, hvis du har et godt hold.
Størrelse 100 (megabyte), du kan sætte 100000 er næsten 100 GB afhænger af din tilgængelighed. 16 er antallet af mapper, og 256 er antallet af undermapper. Du kan spille med begge værdier afhænger af, hvor hurtige dine diske er, og hvor mange ressourcer du har.
cache_swap_low 90
cache_swap_high 95
Disse muligheder er erstatningsværdierne for objekter, det er minimums- og maksimumværdien som vandmærke ifølge blæksprutte, hvor disse tal er i procent (%), og i en meget lille cache ville 5% som dette lige nu være Lad os sige 300 objekter pr. sekund, men i meget store cacher taler vi om tusinder af MB
Nå, der forlader jeg dig, dette for nu, kommenter Og tag også hensyn til dem, der fortalte mig, at de ikke kunne cache og filtrere https (SSL) sider i blæksprutte 3.5 eller højere, jeg vil bringe dem til dig snart, hold øje med denne blog.
Fremragende supplement til den første del!
Der er en masse litteratur om blæksprutter, men det er ikke altid lige ved at komme til punktet i de mest praktiske muligheder med deres respektive forklaringer og mulige reelle brugsscenarier!
Som altid ser jeg frem til den tredje del af det!
Tak for din kommentar. Det er korrekt, en kortfattet forklaring af alle relevante elementer og en bedste praksis-opsætning. Jeg er dog altid opmærksom på dine kommentarer og egne oplevelser.
Hej, jeg har et problem med Windows-opdateringer og antivirus. Jeg har cirka 120 pc på min institution. Kan du give mig en idé om, hvordan jeg kan forbedre denne situation. Tak for din hjælp og tillykke med artiklen.
Hej, tak for at du deltager .. Nå, hvis jeg kan hjælpe dig, men forklar godt, hvad dit problem er, kan du ikke downloade opdateringerne? Satte du proxy i internetindstillinger og det samme i proxyindstillingerne i din browser? Kontrollerede du portene? Eller vil du cache disse opdateringer?
Hvad jeg har brug for er, at hver gang en computer downloader en windows- eller antivirusopdatering, forbliver den i cachen i en periode på omkring en måned, på denne måde vil jeg gerne gemme båndbredde, da hver morgen hver gang alle computere begynder at downloade den samme opdaterer hver enkelt, og forbindelsen er mættet.
Tak for din hjælp.
En server med blæksprutter fungerer, da de er enkle ukrypterede http-downloads. Andre løsninger til cache er WSUS og Altiris, normalt i virksomheder.
Tak Mario, jeg vil huske det.
ok klar, jeg forstår, tjek dette link. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. for at cache antivirus skal du vide, hvor opdateringerne downloades fra og under hvilken udvidelse (eksempel .exe) og cache det ...
Tak for din hjælp.
Godmorgen venner, kan du støtte mig med min sag. da jeg har blæksprutte 2.7 .STABLE9 på en debian 6, og jeg har alt konfigureret, og når jeg monterer det i et 10 pc-miljø, får jeg normal mail, problemet ligger, når jeg monterer det til 90 pc, det varer kun et par sekunders arbejde og derfra er alle tilbage uden internet. Kan du støtte mig?
Fremragende forklaring, grundlæggende, men meget klar og præcis. Personligt den bedste forklaring, jeg har været i stand til at læse.
Jeg har et spørgsmål, er det muligt at cache Android-applikationer såsom apk og xapk?
Og hvad ville være den korrekte måde at konfigurere dynamisk cache uanset filernes oprindelse?
Jeg bruger pfSense 2.4.5.