Funguje to dobre, jedine, co me stale stve, ze mi neustale nektere "chytre" stranky treba Lupa nebo Mobil nebo iDnes nabizeji ke stazeni plug-in Flashe 6 ci co a pokazde musim klikat ze nechci. Na automatickou "ano" odpoved v budoucnu to ma checkbox, ale automaticke "ne" mi chybi.
zdravim,
super clanek
jenom bych se chtel zeptat,jak prinutit squid aby mi ukazoval,to co ma nakesovany,i kdyz nejsem pripojen k internetu,tzn. kdyz si vyzadam nejakou url,tak se snazi zjisti jestli je aktualni,misto toho aby mi ukazal tu co ma
doufam ze sem to formuloval jasne :-)
WWWOFFLE muzu pro dial-up taky jen doporucit. Napriklad proto, ze potrebuje pouze 700kB sdilene RAM. Kdezto squid potrebuje 32-64 MB RAM.
Pokud se pripojujete k internetu sam nebo mate sit s 2-10 ucastniky, a pokud si chcete prohlizet web i v rezimu offline (idealni pro dial-up), je WWWOFFLE lepsim resenim nez SQUID.
Pokud nastavite vhodne parametry pro to, co se ma ukladat, jak dlouho to ma v pameti zustat, a co neukladat, problemy prakticky nenastanou. Musel byste trefit stav, kdy je nejaka staticka stranka prave zmenena. Na svem SQUIDu jsem nastavil jsem toto:
- zivotnost http objektu 12 hodin
- zivotnost vsech ostatnich objektu 24 hodin
- URL obsahujici cgi-bin, ?, asp a php se neukladaji
S tomto nastavenim je SQUID schopen pri cca 200 uzivatelich "usetrit" 15-20% linky. Pokud nechate ukladat objekty i s URL, ktere obsahuji ?, je to az 30%, ale tady se jiz objevuji stiznosti. I kdyz z tech cca 15% objektu je naprosta vetsina reklama a u tech se nepozna jejich aktualnost behem 1 dne, obcas nekdo pri cteni e-mailu narazil. Ta cisla jsem ziskal pri analyze logu SQUIDu programem SARG.
Squid dokaze aj celkom pekne odstranovat bannery pomocou redirektorov. Redirektor je vlastne maly program, ktory na standardny vstup dostane URL a na vystup musi vypisat presmerovane URL. Staci jednoduchy skript v Perle a bannery sa presmeruju na nejaky obrazok na inom servri. Je to celkom pekna vlastnost, hlavne ak mate pomalu linku (<=33600bps)...
S tim cachovanim FTP to neni az tak ruzovy. Trapim se s tim uz delsi dobu, ale jeste jsem nenasel zpusob, jak donutit squida pracovat s FTP. v maling listu [squid-users] jsem neco zachytil, ale spise ve smyslu, ze squid NENI FTP proxy ! Pokud mate nekdo zkusenosti s touto kombinaci, uvitam jakoukoli pomoc. Using RH-7.2, iptables, squid-2.4.STABLE6-6.7.3.
Diky
Daryl
Je to tak. Squid sice umi vyridit pozadavek na FTP server, ale jen pokud mu jej klient posle v HTTP formatu. Squid dostane URL ve tvaru ftp://..., prelozi ji do FTP, se serverem komunikuje pres FTP, ale klientovi odpovi stejne jako kdyby slo o HTTP pozadavek. Takto s proxy serverem umi komunikovat www prohlizece.
S beznym FTP klientem squid chodit nebude. FTP nebude fungovat ani z prohlizece, pokud squid pobezi v transparentnim rezimu (viz druhy dil).
Kdyz je proxy transparentni, tak klient (prohlizec) ani nevi ze pres nejaky proxy bezi. Mysli si ze komunikuje s cilovym serverem, a pakety jsou na nizsi urovni preposlany na proxy.
Kdyz si prohlizec mysli ze pres proxy nejede, pripojuje se k FTP serveru FTP protokolem, kteremu squid nerozumi.
Naopak, kdyz prohlizec vi ze jede pres proxy, posila FTP pozadavky ve specialnim formatu, podobnem jako u HTTP, a tem squid rozumi.
Takze kdyz je squid transparentni, a v prohlizeci nic o proxy nastaveno neni, tak FTP pres proxy jet nemuze. FTP funguje primo mezi prohlizecem a cilovym serverem (pokud to firewall dovoli).
Samozrejme, kdyz je squid nastaven jako transparentni a v prohlizeci je proxy nastaven (takze transparentnost nepouziva), tak FTP skrz squid fungovat bude.
Zdravim,
lze Squid nastavit takovym zpusobem, aby kesoval provoz opacnym smerem z lokalni site do internetu?
Popis situace: Jedna verejna IP adresa firewallu a za firewallem farma nekolika web serveru.
Myslenka: Na firewallu bezici proxy server na portu 80, ktery by analyzoval hlavicku Host od klienta a smeroval pozadavek na prislusny web server za firewallem. Odpoved serveru by potom vratil zpet klientovi. Odpovedi se nemusi ani kesovat, jde spis o rozlozeni zateze na vice serveru.
Byl by tento problem resitelny pomoci Squidu? Nebo pokud vite o nejakem vhodnejsim reseni napiste.
Diky
D.V.
To fungovat muze, jmenuje se to "accelerator mode".
musi se nastavit:
http_port 80
httpd_accel_host virtual
httpd_accel_uses_host_header on
pokud ma fungovat cache tak: httpd_accel_with_proxy on
No a pak musi squid nejak vedet kam ma ktere pozadavky smerovat.
To muze bud delat redirector (viz dalsi dil), ktery bude prekladat "internetove" URL na lokalni adresy web serveruu, nebo se musi znasilnit lokalni resolver (pres /etc/hosts nebo lokalni DNS), aby jmena vasich webserveruu resolvoval do jejich skutecnych lokalnich IP adres.
Nikdy jsem to nedelal, tak doufam ze jsem na nic nezapomel....
Mozna budete taky chtit nastavit redirect_rewrites_host_header na "off", podle toho jestli u virtualnich domen na vasich www serverech chcete mit jejich "internetove" jmeno, nebo jejich lokalni jmeno (ziskane od redirectoru)
Squid se standardne identifikuje stejne jako se identifikoval klient, ktery s pozadavkem prisel.
Jednotlive HTTP headery se daji zamaskovat pomoci
"anonymize_headers ...."
Pripadne se da nastavit falesna identifikace prohlizece ("fake_user_agent").
Pokud "vyssi" squid bezi transparentne (tj. pokud ani v beznem prohlizeci nemusite o proxy nic nastavovat), nic dalsiho nastavovat nemusite.
Jinak musite ten "vyssi" squid nastavit jako parent toho vaseho:
cache_peer <vyssi_squid> parent <jeho_port> 0 no-digest no-query
Ta nula a ty dalsi dve opsny zajisti, ze spolu cache vubec nebudou komunikovat pomoci ICP (coz nejen ze by vas prozradilo, ale take je to v pripade jedine parent-cahce a zadnych sibling-cache uplne zbytecne). (trochu o ICP a k cemu jej squid pouziva v pristim dile)
Díky moc, pomohlo to a už to funguje, použil jsem nastavení parent, protože vyšší squid neběží transparentně - ale něco je ještě špatně. Načítání statických stránek funguje perfektně, ale u asp, php stránek se obvykle dostanu jen někam do poloviny, zbytek stránky už se nenačte většinou vůbec. Kliknutí na odkazy z těchto stránek většinou také nefunguje. Nevíte čím by to mohlo být?
Nacte se do pulky? To je nejaky divny (mozna jen fixluje progressbar v prohlizeci, ne?).
Je to tim, ze squid se pro nektere requesty snazi jit primo a ne pres parent cache (pro ty ktere nejsou cachovatelne, nebo ty co jsou uvedene v hierarchy_stoplist, ktery je defaultne nastaven na URL s otaznikem).
Zamezit by tomu melo nastaveni "never direct allow all"
Tim se rekne ze vsechny requesty maji jit pres parent... sorry na to sem nejak zapomel
"S tomto nastavenim je SQUID schopen pri cca 200 uzivatelich "usetrit" 15-20% linky. Pokud nechate ukladat objekty i s URL, ktere obsahuji ?, je to az 30%, ale tady se jiz objevuji stiznosti."
A nemel by se brat ohled na hlavicky v odpovedich originalniho serveru ridici cache? Jak funguje ukladani s ? v URL. To pak posilate i s parametry nebo bez? Kdyz ulozite napriklad session promenne v URL a date je jinemu uzivateli tak by to byl docela binec, ne? Leo
dokument se do cache uklada vzdy s celou URL a podle cele URL (tedy i s otaznikem a parametry) se take v cache vyhledava. Jinak by to samozrejme byl uplnej chaos ;-)
Jinak na ty parametry pro rizeni cache se samozrejme ohled bere, problem je ze v nich muze byt dost chaos, protoze dost lidi co delaji weby ani nevedi ze nejake takove headery existuji :-(
Takze necachovat objekty s URL s otaznikem je spis takova heuristika: otaznik -> stranka je nejspis dynamicka -> mohly by s ni byt problemy -> preventivne necachovat. Proste projistotu necachujem i spoustu veci co bychom cachovat mohli.
Zajimal by me tento problem SQUIDu. Kdyz vznesu
url pozadavek, squid nacte a vrati pouze cast
dokumentu napr. pokud jsou v dokumentu ramy zobrazi
pouze jeden aktualni ram a v ostatnich je chybova
stranka generovana squidem, nebo jiny pripad pokud
dokument obsahuje obrazky, zobrazi se jen text a
misto obrazku jen ramecek,obrazek se da nacist jen
pokud zadam View image,pripada mi to,jako kdyby
squid nebyl schopen zpracovavat vice pozadavku
najednou. Udajne se to stava tehdy,ze pokud je z
daneho stroje prilis mnoho pozadavku,squid pro
tento stroj omezi pocet nacitanych dokumentu, to
pak zpusobi, ze pokud je v dokumentu mnoho grafiky,
ramu apod. squid zpracuje pouze jen vychozi
html stranku. Nevite nekdo, cim to muze byt?
Diky Libor
Dobry den.
Narazil jsem na nekolik nepresnosti.
"Squid ukládá každý kešovaný objekt do zvláštního souboru. Těch můžou být u větších keší třeba desítky milionů a není efektivní je mít v jednom adresáři..."
- desitky milionu souboru - to je ponekud prehnane. Ucinnost proxy se s narustajicim poctem souboru nezvysuje linearne. Prakticky od nejakych 30GB (prumerne 2.5milionu objektu) je narust hit_ratio minimalni a dalsi zvysovani poctu objektu se z hlediska HW uz prilis nevyplaci.(ne, ze by to nebylo bezne :-) )
"Pro zkoušku můžeme snížit počty podadresářů, aby jejich vytváření zbytečně nezabralo moc dlouho. Keš se poprvé inicializuje spuštěním squid -z "
- s timto opatrne. Je treba nastavit pocet L1 adresaru dle predpokladane velikosti cache. Maly vypocet - pri nastaveni cache_dir 16 256 si squid muze ulozit az 16*256*256 = 1048576 objektu(16L2*256L1*256objektu). Pri predpokladane prumerne velikosti objektu 13 kB (obvykle se pohybuje mezi 10-13.5kB) je to neco pres 13GB. Pokud se rozhodnu alokovat rekneme 15GB a necham defaultni nastaveni, tak po naplneni proxy dojde k "neprijemnostem". Je pravda, ze vytvoreni 4096 adresaru na beznych filesystemech (ext2) ponekud trva, ale lze se tomu vyhnout pouzitim filesystemu reiserfs (ktery je v soucasne dobe pro squid take nejvhodnejsi - nutno pouzit mount option notail,noatime).
"cache_mem (velikost keše v paměti - na režii se použije ještě nejmíň jednou tolik - je blbost nastavit tolik, aby systém swapoval, to už si na disk může squid hrábnout sám... )"
- toto bohuzel vubec nesouhlasi. cache_mem udava pouze velikost pameti, kterou squid pouzije navic na tzv. hot objects (predevsim). Velikost pameti pouzite procesem squid je urcena velikosti indexu objektu na disku (obvykle nejvetsi cast pameti 1GB objektu ~ 12MB+ RAM), velikosti samotneho programu a velikosti cache_mem. Pri "vyssi" zatezi si squid casto alokuje jeste nejakou pamet navic. Je vhodne nechat moznost alokovani jeste dalsich 5-10% pameti oproti normalu. Dalsi pamet je vhodna na buffery systemu. SQUID by nemel nikdy swapovat, protoze pak dochazi k silne degradaci vykonu (samozrejme, ze to neplati pro bezne "domaci" pouziti).
- co se tyce store.log, je vhodne ho vypnout z duvodu diskoveho prostoru. access.log je vhodne rotovat (pri velke zatezi take zabira hodne mista).
To je zhruba vse - doufam, ze jsem to nikomu nijak neznechutil - rozhodne to nebyl muj zamer. :-)
S pozdravem
Vitezslav T. Sem
Povedlo se mi relativne bez problemu rozchodit squid na mem serveru.HTTP i FTP chodi naprosto OK a k me plne spokojenosti. Zajimalo by me ale, jestli se da pres squid protlacit i ICQ (ve winProxy se jen zapla podpora socks 4 nebo 5). Nejak se mi to porad nevede. Prosim poradte, teprve s tim zacinam. Diky moc..