Varnish para pfsense 2.0



  • versão 0.8.6 status beta

    Depois de usa-lo por mais de um mes, acertei alguns bugs e melhorei a interface.

    Quem estiver interessado em acelerar seu site aproveitando o pfsense, o varnish é uma opção.

    Quem puder testa-lo para levarmos ele ao status de stable, agradeço a ajuda.

    att,
    Marcello Coutinho



  • Hum interessante…



  • subi hoje a versao para i386

    varnish i386 versao 2.1.2
    varnish x64 versao 2.1.5



  • Marcelo.

    voce poderia nos dizer em qual cenario pode3riamos usar esse tipo de proxy. Nao conheço bem a ferramenta e quero ajudar.

    Abraços



  • Varnish é um poderosíssimo proxy reverso com cache para servidores web.
    Muito mais rápido que o squid e o apache quando configurados para proxy reverso.

    Ele é capaz de reduzir ate 30 vezes a carga de seus servidores web.

    O status atual dele é RELEASE candidate, uma vez que o pacote já esta disponivel a mais de um mês sem grandes bugs.
    Estou buscando também funcionalidades disponíveis no varnish que Nao estejam implementadas na interface web.

    Agradeço a ajuda.



  • Marcelloc, vc tem algum how to de configuração dele no pfsense?? Tenho pfsense na ultima versão instalado na minha empresa e gostaria de testar essa função, porém, como é um servidor de produção, gostaria de cautela nessa execução. hehe.

    @marcelloc:

    Varnish é um poderosíssimo proxy reverso com cache para servidores web.
    Muito mais rápido que o squid e o apache quando configurados para proxy reverso.

    Ele é capaz de reduzir ate 30 vezes a carga de seus servidores web.

    O status atual dele é RELEASE candidate, uma vez que o pacote já esta disponivel a mais de um mês sem grandes bugs.
    Estou buscando também funcionalidades disponíveis no varnish que Nao estejam implementadas na interface web.

    Agradeço a ajuda.



  • O Varnish não é simples de configurar, você precisa estudar um pouco como ele funciona antes de tentar configura-lo no pfsense.

    a Idéia básica dele é:

    • Definir e Configurar os Backends (seus servidores web internos)

    • Configurar a aba settings prestando atenção na configuração padrão/recomendada

    • Definir no Load Balance, quais servidores web respondem por qual pedaço do site.

    OBS:
    Enquanto estiver testando, coloque em uma porta diferente da 80.
    Se voce não tiver servidores web suficientes para usar o Load Balance, você pode voltar na aba backends e definir que host responde por qual dominio.
    A aba view configuration, sempre vai te mostrar o arquivo de configuração gerado, com ele voce pode comparar sua configuração com algum tutorial de varnish que você venha a encontrar.

    att,
    Marcello Coutinho



  • Consegui compilar a versão 3.0.2 para o pfsense.

    Passei a versão do pacote com varnish 2.1.5 para release e incluí o pacote varnish3 em status beta.

    o varnish3 inclui várias melhorias e alteração de sintaxe. Se tiverem tempo e um servidor web precisando de ajuda, dá uma chance ao varnish.

    Acredito que a maior evolução do varnish 3 é o suporte a streaming de vídeo.

    visite o site do varnish para entender melhor como ele pode te ajudar.

    att,
    Marcello Coutinho



  • @marcelloc:

    Consegui compilar a versão 3.0.2 para o pfsense.

    Passei a versão do pacote com varnish 2.1.5 para release e incluí o pacote varnish3 em status beta.

    o varnish3 inclui várias melhorias e alteração de sintaxe. Se tiverem tempo e um servidor web precisando de ajuda, dá uma chance ao varnish.

    Acredito que a maior evolução do varnish 3 é o suporte a streaming de vídeo.

    visite o site do varnish para entender melhor como ele pode te ajudar.

    att,
    Marcello Coutinho

    Proxima semana irei colocar um webserver com trafego de 20GB diario. Vamos ver o resultado com o varnish 3



  • @marcelloc

    seria interessante poder habilitar o varnishncsa pela gui!



  • @dmenezes:

    seria interessante poder habilitar o varnishncsa pela gui!

    Quando estava fazendo o pacote, gostei muito da ideia de performance que o varnish prega. Por isso deixei os logs fora da gui.

    Ando meio sem tempo, mas vou anotar aqui.



  • Então Marcelloc, agora separados … em que projeto tá precisando de uma ajuda ?



  • @djgel:

    Então Marcelloc, agora separados … em que projeto tá precisando de uma ajuda ?

    Fala Marcio! Bem vindo ao fórum.  :)

    Toda ajuda é sempre bem vinda!

    Estou começando a melhorar o imspector, se puder acompanah este post http://forum.pfsense.org/index.php/topic,49237.0.html.

    att,
    Marcello Coutinho



  • Marcelloc,

    Tem como definir um default para o "Cache storage size in megabytes" ? Se deixar em branco já da um error na subida do Varnish com o error : Error: (-smalloc) size "MB": Invalid number'



  • @djgel:

    Tem como definir um default para o "Cache storage size in megabytes" ? Se deixar em branco já da um error na subida do Varnish com o error : Error: (-smalloc) size "MB": Invalid number'

    Tem sim, já esta na lista de coisas a fazer.

    valeu pelo feedback



  • Marcello,

    Tem que agradecer não … to começando a usar ele entender seu funcionamento ...  O Interessante é definir os Obrigatórios, pois sem eles, ele não sobe ... eu que nunca tinha usado tive que ficar testando até identificar os problemas ... Inclusive quando instala pela primeira vez, tem que reiniciar senão tb não inicia o serviço,o varnishd não é considerado executável.

    Como disse, vou começar a desenvolver os projetos com/como você ... mas ainda preciso de um tempinho para me falimiliarizar com ele ... :) Fora os problemas que tenho que resolver aqui primeiro.

    []s



  • Senhores,

    Gostaria de uma ajuda de vocês… deste que me aventurei com o Varnish, usei sempre os domínios e subdominio e tudo 100% ... Isto é minhaavoquerida.com.br para o Backend01 e vovo.minhaavoqueria.com.br para backend02, por exemplo.

    Agora gostaria de fazer que minhaavoquerida.com.br/vovo/ caisse no backend02 tb, só está pasta ... mas não consegui sucesso com a configuração da URL ... testei regex, usei expressões e nada ... ele simplesmente responde um 404 e pronto ... aparentemente ele não pega de servidor nenhum!

    Alguma luz ou referencia que pode me ajudar ?

    Es minha linha de conf deste pedaço para meu svn:

    else if (req.url ~ "www6.xxx.com.br/svn") {
    if (req.restarts == 0) {
    set req.backend = svn;
    set req.grace=30m;
    }

    Obrigado desde já,

    Márcio Carlos



  • Grande Márcio, que bom te ver por aqui.  :)

    Vendo o exemplo de configuração de urls do varnish disponível em https://www.varnish-cache.org/docs/master/tutorial/advanced_backend_servers.html

    sub vcl_recv {
        if (req.url ~ "^/java/") {
            set req.backend = java;
        } else {
            set req.backend = default.
        }
    }
    

    Parece que o que ele entende por url é o que vem depois do host, e não a url completa.

    Consegue testar desta forma?
    Não tenho certeza se o código da interface gráfica faz a verificação de host e url.

    att,
    Marcello Coutinho



  • Testarei agora … mas conforme por, teremos que alterar os inc ... mas tinha lido este documento ... e se tiver duas URL como o exemplo "java", teria que carregar tb o host ...  isto é aceito?

    
    sub vcl_recv {
        if (req.http.host ~ "www.sol.com" && req.url ~ "^/java/" ) {
            set req.backend = java;
        } else {
            set req.backend = default.
        }
    }
    
    


  • Já respondendo minha própria pergunta … sim que ser assim mesmo ...

    Se o host estiver vazio, (req.url ~ "^/java/") caso tenha alguma coisa no host, devará ser (req.http.host ~ "www.sol.com" && req.url ~ "^/java/")

    Peguei o inc do varnish para alterar ... mas não tenho como comitar ... inclusive to desenvolvendo o package para instalar o Bacula-client e configurar para gerar os backups dos confs e logs de um snort porem ... como comito ou testo os códigos ? Ainda não entendi bem esta logica ... :)



  • Bem, entendi agora como funciona o git … fiz as alterações no varnich.inc, testei e envie para analise de voces e aprovação, caso ok :)

    depois coloco as validações que acho que precisa tb no varnish :)

    depois me passa as manhãs para um novo projeto :)



  • Márcio,

    Já está no código.

    Você testou as alterações com url e com host + url?

    att,
    Marcello Coutinho



  • Sim, copie o codigo e colei :)

    deixa atualizar aqui o Varnish

    Valeu

    OBS: não seria interessante mudar a versão do pacote para a atualizar automaticamente ? tentei incluvise desistar e instalar novamente … mas ele não trouxe os .inc novo ... copie manualmente e está funcionado certinho a criação do arquivo, conforme modelo combinado.



  • Demora no máximo 15 minutos para replicar.

    Você alterou a versão 2 do pacote, é esta mesma que você esta usando?

    Preciso replicar ela para o varnish3 também.



  • Alterei a varnish64, achei que está que era a 3 … podexa que altero tb a versão 3 e vc aprova, ok ?

    []s
    Márcio



  • @djgel:

    Alterei a varnish64, achei que está que era a 3 … podexa que altero tb a versão 3 e vc aprova, ok ?

    Com certeza!  :)



  • Apenas relatando para o Povo, commitei no varnish a opção de rewrite da URL ou/e Host para o Backend. Isto é, Caso sua URL seja img.mysite.com mas o backends responda por srv.mysite.com/img é possivel alterar na sua chamada.

    Att.

    Márcio Carlos


Log in to reply