+ Responder ao Tópico



  1. #201

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    esquece orkut.. ele eh 100% "cacheavel" :P nao tem misterio.. :P

    eu sei kra ... hehe o url rewriter nesse caso é pra controle de duplicidade

    temos a foto alexandre.jpg no im1.orkut.com img2.orkut.com img3.orkut.com imagem imgn.orkut.com o que fazermos nesse caso é trabalhar apenas com 1 host o img1.orkut.com

    diminuindo a duplicidade
    tornando o cache mais efetivo
    ocupando menos espaço no hd

    =)

  2. #202

    Padrão

    Ae pessoal apesar de não sacar muito de squid, e com a ajudo do meu amigo Luiz (Arium) o meu esta rodando certinho aqui e notei um grande melhora de desempenho e link, a uns 3 meses estou testando squid, e tive a grande ajuda do Luiz na implentação de alguns itens, e como sempre o cara mando bem com mais esta ideia louca que funciona :-) , aqui esta dando certo, tanto orkut como Windows Update... em breve posto mais detalhes, apos os proximos teste, a maquina foi montada exclusivamente pra cache aqui no provedor e configurada do zero pra rodar os recursos do rewrite... e teve o toque final do Luiz...

    Que funciona... funciona

    Abraços

  3. #203

    Padrão

    Não sei que tipo de testes fizeram.

    Aqui fiz uma instalação nova do windows, no zero, instalei só o SP2.

    Quando ativo, nas "Atualizações Automáticas, "Notificar-me de atualizações, mas não baixá-las ou instalá-las automaticamente", aparece o balão dizendo que existem atualizações a serem baixadas, porém, quando clico nele simplesmente some e não baixa nada.

    O diretório WINUP, como disse no começo do tópico, contém um monte de arquivos INÚTEIS, completamente INÚTEIS, pois todas as vezes que é feita uma consulta das atualizações estes arquivos são baixados novamente mas com outra numeração, e são, na maioria dos casos, exatamente os mesmos, é só compará-los com o "diff" que verão.

    No diretório WINUP2 tem vários arquivos grandes, mas pelo que estou vendo aqui, não está adiantando nada estes arquivos estarem lá, pois o windows não está os baixando.

    vou instalar o office 2003 pra ter mais opções de atualizações.

  4. #204

    Padrão

    Código :
    [SIZE=2]NameVirtualHost *:80[/SIZE]
    [SIZE=2]<VirtualHost *:80>[/SIZE]
    [SIZE=2]ServerAdmin [email protected][/SIZE]
    [SIZE=2]AddHandler php-script php .php[/SIZE]
    [SIZE=2]DocumentRoot /var/www/[/SIZE]
    [SIZE=2]Alias /WINUP /var/www/html/WINUP[/SIZE]
    [SIZE=2]Alias /WINUP2 /var/www/html/WINUP2[/SIZE]
     
     
    [SIZE=2]<Directory />[/SIZE]
    [SIZE=2]Options FollowSymLinks[/SIZE]
    [SIZE=2]#isso de baixo cria um auto index mais é muito lento[/SIZE]
    [SIZE=2]#Options Indexes FollowSymLinks MultiViews[/SIZE]
    [SIZE=2]AllowOverride None[/SIZE]
    [SIZE=2]Order deny,allow[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]<Directory /var/www/html/>[/SIZE]
    [SIZE=2]Options Indexes FollowSymLinks MultiViews +ExecCGI[/SIZE]
    [SIZE=2]AllowOverride None[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]<Directory "/var/www/html/WINUP">[/SIZE]
    [SIZE=2]AllowOverride All[/SIZE]
    [SIZE=2]Allow from all[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]<Directory "/var/www/html/WINUP2">[/SIZE]
    [SIZE=2]AllowOverride All[/SIZE]
    [SIZE=2]Allow from all[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]</VirtualHost>[/SIZE]


    tanta usar isso...

    de um echo > /tmp/debug_url_redirect.log
    chmod 777 /tmp/debug_url_redirect.log
    e CUIDA ESSE ARQUIVO ele vai dizer se tah funcionando ou não não o access.log ou o store.log

    com 1 computador na rede eu jah te disse que vai demorar pra funcionar vc precisa de população.

    se ele redireciona e mesmo assim nao baixa ...

    simples pau no apache.
    Última edição por arium; 12-08-2008 às 08:54.

  5. #205

    Padrão

    Soh pra constar, o meu squid tambem esta rodando lindao com WINUP.
    coisa linda de se ver!!

  6. #206

    Padrão

    Citação Postado originalmente por arium Ver Post
    Código :
    [SIZE=2]NameVirtualHost *:80[/SIZE]
    [SIZE=2]<VirtualHost *:80>[/SIZE]
    [SIZE=2]ServerAdmin [email protected][/SIZE]
    [SIZE=2]AddHandler php-script php .php[/SIZE]
    [SIZE=2]DocumentRoot /var/www/[/SIZE]
    [SIZE=2]Alias /WINUP /var/www/html/WINUP[/SIZE]
    [SIZE=2]Alias /WINUP2 /var/www/html/WINUP2[/SIZE]
     
     
    [SIZE=2]<Directory />[/SIZE]
    [SIZE=2]Options FollowSymLinks[/SIZE]
    [SIZE=2]#isso de baixo cria um auto index mais é muito lento[/SIZE]
    [SIZE=2]#Options Indexes FollowSymLinks MultiViews[/SIZE]
    [SIZE=2]AllowOverride None[/SIZE]
    [SIZE=2]Order deny,allow[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]<Directory /var/www/html/>[/SIZE]
    [SIZE=2]Options Indexes FollowSymLinks MultiViews +ExecCGI[/SIZE]
    [SIZE=2]AllowOverride None[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]<Directory "/var/www/html/WINUP">[/SIZE]
    [SIZE=2]AllowOverride All[/SIZE]
    [SIZE=2]Allow from all[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]<Directory "/var/www/html/WINUP2">[/SIZE]
    [SIZE=2]AllowOverride All[/SIZE]
    [SIZE=2]Allow from all[/SIZE]
    [SIZE=2]</Directory>[/SIZE]
    [SIZE=2]</VirtualHost>[/SIZE]
    tanta usar isso...

    de um echo > /tmp/debug_url_redirect.log
    chmod 777 /tmp/debug_url_redirect.log
    e CUIDA ESSE ARQUIVO ele vai dizer se tah funcionando ou não não o access.log ou o store.log

    com 1 computador na rede eu jah te disse que vai demorar pra funcionar vc precisa de população.

    se ele redireciona e mesmo assim nao baixa ...

    simples pau no apache.
    se fosse pau no apache não abriria quando entra com o endereço no navegador.

    o access.log mostra quando está pegando o arquivo do repositório local.

    como perguntei antes e você não respondeu, já pegou uma maquina, fez a instalação do zero e mandou atualizar o windows pra ver?

    você sempre fala que uma mãquina não vai funcionar, se não funcionar com uma não vai funcionar com 10.

  7. #207

    Padrão

    Soh tah faltando as luvas de boxe nesse topico... haha

    O ideal era pegar os principais posts, traduzir pra portugues e jogar no wiki...
    Merecem os parabéns quem pesquisaram para a idéia funcionar.

    Saudações,

  8. #208

    Padrão

    eita pega.. gastei o zóio hoje pra mexer nesse trem...

    parece que uma parte do negócio consegui fazer funcionar.

    acessando os arquivos pelo endereço http://10.0.1.254/WINUP2, acessava sem problemas, mas o windows não baixava as atualizações nem ca gota.

    peguei a url de um arquivo, no debug, que já havia sido baixado e tentei abrir no navegador, por teoria ele deveria redirecionar e baixar o arquivo do repositório, mass..... masssss.... masssssss..... deu erro! erro do squid, conexão recusada.

    analisei o tráfego com o tcpdump e vi que quando havia requisição da tel url, o IP 10.0.1.254 requisitava para ele mesmo na porta 80, porém, não havia regra no iptables que liberasse tal acesso.

    foi só criar a regra liberando a entrada na porta 80 para este ip e beleza, aparentemente funcionou.

    vou verificar mais depois para resolver outros problemas.

  9. #209

    Padrão

    olha que coisa linda!!!

    1218685002.154 27 192.168.6.35 TCP_HIT/206 9409 GET http://201.2.213.16/WINUP2/excel_3ba...f774f5a036.cab -


    haUIHUhauHAUha

  10. #210

    Padrão

    luciano...
    FUNCIONA FUNCUINA CAÇULETA
    eu ajudei o andre eo clecio fico 100% o teu eu NAO POSSO PELNAMENTE ajudar pq vc tem o cacti e nao sei mais oq no teu apache

    outra coisa vc usa porta 8080

    outra coisa eu nao tive acesso ssh a tua maquina a dos outros tive...


    outra coisa... com UMA MAQUINA FUNCIONA SÓ QUE DEMORA MAIS!!!!!!!!!!!!!

    quando mais maquinas mais população



    outra coisa use preferenciamente IP valido

    já perdi as conta de quantas vezes pedi pra vc tbm me cola o tmp do debug vc nao colou aqui...

    só tem uma explicaçao pra isso teus cliente não tao achando o arquivo dentro da pasta!

    se vc for no cliente e tentar baixar o arquivo ele baixa?

    http://ipdoservodr/winup2/filedokct.exe


    ?


    como eu já expliquei.. se voce tiver uma mauqina ele vai tentar baixar a primeira vez e pode ou nao conseguir.. mais ele vai dah um wget no arquivo.. se vc tentar denovo em SEQUENCIA o proxy vai te redirecionar para o arquivo (que muitas vezes não está completo pq o wget nao acabou) o que provoca erro...

    como a minha rede a rede do andre e a rede do clecio tem mais de 500 clientes... foi facil conseguir populaçao e o redirecionador funciona meio que de cara.

    velho oq tenho pra te dize é funciona e tá provado que funciona temos pelomenos 3 proxys aqui em pleno funcionamento...

    por primazia eu tentaria baixar o arquivo MANUALMENTE de um cliente de rede

    se essa etapa passou ótimo teu apache tá ok!

    outra coisa a se pensar! o cliente acessa porta 80 ou 8080? como funciona esses redirecionamentos!

    derepente tu vai ter que criar um vhost na 8080 não sei
    caso fizer isso tambem vai ter que adaptar o redirector


    o ls /var/www/html/WINUP tá listando o dir? eh esse mesmo o dir!
    kra vai ter que ir pegando pedacinho por pedacinho do script e ir debugando!


    como te falei e repido de preferecia por usar ip valido e porta 80
    não que nao funcione de outro jeito... ateh pq pela logica funciona.. mais é mais facil assim!
    foi dessa maneira q configurei o meu e ajudei o andre e o clecio.

  11. #211

    Padrão

    Citação Postado originalmente por lucianogf Ver Post
    eita pega.. gastei o zóio hoje pra mexer nesse trem...

    parece que uma parte do negócio consegui fazer funcionar.

    acessando os arquivos pelo endereço http://10.0.1.254/WINUP2, acessava sem problemas, mas o windows não baixava as atualizações nem ca gota.

    peguei a url de um arquivo, no debug, que já havia sido baixado e tentei abrir no navegador, por teoria ele deveria redirecionar e baixar o arquivo do repositório, mass..... masssss.... masssssss..... deu erro! erro do squid, conexão recusada.

    analisei o tráfego com o tcpdump e vi que quando havia requisição da tel url, o IP 10.0.1.254 requisitava para ele mesmo na porta 80, porém, não havia regra no iptables que liberasse tal acesso.

    foi só criar a regra liberando a entrada na porta 80 para este ip e beleza, aparentemente funcionou.

    vou verificar mais depois para resolver outros problemas.
    .

  12. #212

    Padrão

    Bom acredito que esta venha ser a prova definitiva que esta funcionado, detalhe do log do debug


    entrada: http://au.download.windowsupdate.com...1ba3fe1381.exe
    AU Windows Update Redirecionado de http://au.download.windowsupdate.com...1ba3fe1381.exe Para http://200.205.205.3/WINUP2/windowsx...1ba3fe1381.exe user uid=13(proxy) gid=13(proxy) groups=13(proxy)
    saida: http://200.205.205.3/WINUP2/windowsx...1ba3fe1381.exe

    Hoje realmente coloquei o proxy em produção tenho 646 clientes saindo por ele, alem da melhora de desempenho, consegui uma economia no link que esta no vermelho a espera de um prometido upgrade pela Telefonica =), agora voltando ao topico, td indique que esta funcionado como no log acima, como mencionei este servidor foi montado exclusivamente pra proxy e pra testar as ideias do Professor Pardal (Luiz) =) e como sempre o cara mando bem....

    Abraços a todos

  13. #213

    Padrão

    Pessoal,

    criei um script para rodar paralelo ao store_url_rewrite (sur) que será da seguinte forma, quando há a requisição do arquivo, o sur envia o endereço para o script secundário e manda rodar em background, este script cria um diretório com o nome do arquivo a ser baixado, baixa o arquivo, quando estiver completamente baixado move para o diretório do repositório.

    no período de tempo que o arquivo estiver sendo baixado, se houver outra requisição deste, será automaticamente descartada, a não ser que o primeiro download tenha ocorrido erro e o arquivo não foi baixado totalmente, desta forma o download continua.

    segue o script
    Código :
    #!/bin/bash
    # Baixa arquivos de atualizações do windows update
    WGET=`which wget`
    VAR=`ps axf | grep $1 | grep -v grep`
    URL=$1
    VAR1=`echo $URL | awk -F "/" '{printf $NF}'`
    ARQ=`echo $VAR1 | awk -F "?" '{printf $1"-"$2}'`
     
    if [[ $VAR != "" ]]; then
       cd /var/www/WINUP2/temp
       mkdir $ARQ
       cd $ARQ
       wget -q -c $URL
       mv * /var/www/WINUP2/.
       #cp * /var/www/WINUP2/.
       cd /var/www/WINUP2/temp
       rm -rf $ARQ
    else
       exit 0
    fi
    para uso deste script basta mudar a linha abaixo
    Código :
    exec("cd /var/www/WINUP2 && umask 022 && /usr/bin/wget $url && /bin/chmod +r /var/www/
    WINUP2/.$arquivochar");
    para
    Código :
    exec("sh /etc/squid/winup2.sh $url &");
    não cheguei a testar a fundo, mas a idéia é evitar que o squid repasse o endereço de um arquivo que não esteja totalmente baixado.

  14. #214

    Padrão

    como script paralelo é possivel... mais se vc colocar soh aquela linha dentro do script e retirar a original.. o user nao vai recebe o arquivo.


    a ideia é boa para redes de pouca população mesmo.
    Última edição por arium; 15-08-2008 às 08:48.

  15. #215

    Padrão

    o cliente não vai receber o arquivo na primeira requisição, mas quando o arquivo estiver totalmente baixado e houver outra requisição ele receberá o endereço.

    de qualquer forma o windows fará outra requisição se o arquivo não estiver completamente baixado, pois ele checará o arquivo e verá que não está completo antes de começar a baixar.

  16. #216

    Padrão

    Na configuração esta aparecendo o seguinte:
    entrada: http://img4.orkut.com/img/castro/google_logo_sml.png
    saida: http://img1.orkut.com/img/castro/google_logo_sml.png
    nao redirecionado
    entrada: http://img4.orkut.com/img/castro/orkut_logo_sml.png
    saida: http://img1.orkut.com/img/castro/orkut_logo_sml.png
    nao redirecionado

    onde poderia estar errando uma vez que não está direcionando?

    #!/usr/bin/perl
    $|=1;
    while (<>) {
    open $fh, ">>/tmp/debug_url_redirect.log";
    @X = split;
    $url = $X[0];
    print $fh "entrada: $url\n";

    #ORKUT
    if ($url =~ /^http:\/\/img[2-9]\.orkut\.com.*/) {
    $url =~ s/img[0-9]/img1/;
    print $fh "saida: $url\n";
    print "$url\n";
    }

    #AVIRA
    # if ($url =~ /^http:\/\/dl[1-9]\.avgate\.net.*/) {
    # $url =~ s/dl[0-9]/dl7/;
    # print $fh "saida: $url\n";
    # print "$url\n";
    # }
    #AVAST
    if ($url =~ /^http:\/\/download[0-9]{3}.avast.com/) {
    $url =~ s/download[0-9]{3}/downloadyyy/;
    print $fh "saida: $url\n";
    print "$url\n";
    }
    #AVG
    if ($url =~ /^http:\/\/akamai.avg.com/) {
    $url =~ s/akamai/downloadfree/;
    $url =~ s/softw\/80\///;
    print $fh "saida: $url\n";
    print "$url\n";
    }
    if ($url =~ /^http:\/\/update.avg.com/) {
    $url =~ s/update/guru/;
    print $fh "saida: $url\n";
    print "$url\n";
    }


    #Windown Update Caching - Squid Proxy - By Luiz Biazus
    #WINDOWS UPDATE LOOP PRIMARIO
    if ($url =~ /^http:\/\/download.windowsupdate.com/) {
    @achar = split(/\//, $url);
    $arquivoachar = $achar[$#achar];
    $resultado = `/bin/ls /var/www/html/WINUP`;
    @array = split(/\n/, $resultado);
    $flag = 0;
    for $i (0 .. $#array){
    if($array[$i] eq "$arquivoachar") {
    $flag = 1;
    $id=`/usr/bin/id`;
    print $fh "Windows Update Redirecionado de $url Para http://200.205.31.151/WINUP/$arquivoachar user $id\n";
    $url = "http://200.205.31.151/WINUP/$arquivoachar";
    print $fh "saida: $url\n";
    print "http://200.205.31.151/WINUP/$arquivoachar\n";


    }

    $i++;
    }

    if ($flag == 0 ) {
    exec("cd /var/www/html/WINUP && umask 022 && /usr/bin/wget $url && /bin/chmod +r /var/www/html/WINUP/.$arquivochar");
    print $fh "saida: arquivoachar $arquivoachar $url\n";
    print "$url\n";
    }

    }


    #WINDOWS UPDATE LOOP SECUNDARIO

    if ($url =~ /^http:\/\/au.download.windowsupdate.com/) {
    @achar = split(/\//, $url);
    $arquivoachar = $achar[$#achar];
    $resultado = `/bin/ls /var/www/html/WINUP2`;
    @array = split(/\n/, $resultado);
    $flag = 0;
    for $i (0 .. $#array){
    if($array[$i] eq "$arquivoachar") {
    $flag = 1;
    $id=`/usr/bin/id`;
    print $fh "AU Windows Update Redirecionado de $url Para http://200.205.31.151/WINUP2/$arquivoachar user $id\n";
    $url = "http://200.205.31.151/WINUP2/$arquivoachar";
    print $fh "saida: $url\n";
    print "http://200.205.31.151/WINUP2/$arquivoachar\n";


    }

    $i++;
    }
    if ($flag == 0 ) {
    exec("cd /var/www/html/WINUP2 && umask 022 && /usr/bin/wget $url && /bin/chmod +r /var/www/html/WINUP2/.$arquivochar");
    print $fh "AU saida: arquivoachar $arquivoachar $url\n";
    print "$url\n";
    }

    }

    else {
    print $fh "nao redirecionado\n";
    print "\n";
    }
    close $fh;
    }


    ## sur_dominios.txt
    .orkut.com
    .avast.com
    guru.avg.com
    downloadfree.avg.com
    akamai.avg.com
    update.avg.com
    .avgate.com
    au.download.windowsupdate.com
    download.windowsupdate.com
    .update.microsoft.com

    Gilberto

  17. #217

    Padrão

    o "nao redirecionado" neste caso aparece de intrometido, pois o serviço foi feito, veja que em "saída" existe uma nova url para o endereço.

  18. #218

    Padrão

    exatamente amigo esta tudo certo como pode ver ele esta sendo redirecionado do img4 para o img1 .

  19. #219

    Padrão

    No arquivo /tmp o download do windows nao esta sendo redirecionado:

    entrada: http://au.download.windowsupdate.com...a53e56f015.cab
    entrada: http://au.download.windowsupdate.com...a53e56f015.cab
    entrada: http://download.windowsupdate.com/v8...cab?0809060018
    entrada: http://update.microsoft.com/v8/windo...cab?0809060019

    onde poderia esta errando na configuração? (minhas configurações estão no post 217)

    Grato

    Gilberto

  20. #220

    Padrão

    você adicionou o endereço au.download.windowsupdate.com a acl