É possível remover parte de um caminho no HAProxy em um redirecionamento?

4

Estou usando o HAProxy para definir um cookie quando você visita mydomain.com/dev e redireciona para mydomain.com .

O objetivo é oferecer uma maneira de visitar uma versão de desenvolvimento do site em vez do site de produção, mantendo todas as outras coisas iguais.

A linha de configuração pertinente é semelhante a esta:

frontend webfarm 1.2.3.4:80
    acl acl_dev path_end /dev

    redirect location / code 302 set-cookie SERVERID=live03 if acl_dev

    default_backend default_farm

Agora, em vez de redirecionar para o domínio raiz, gostaria apenas de remover o caminho / dev. Então, se eu fosse para mydomain.com/foo/dev , ele definiria o cookie e redirecionaria para mydomain.com/foo

Isso é possível com o HAProxy, ou eu precisaria usar o mod_rewrite no servidor de back-end do apache?

Nota : Eu não preciso de uma regra mod_rewrite, apenas procurando se isso é possível no HAproxy.

    
por DTest 01.12.2011 / 16:47

2 respostas

3

Você pode reescrever URLs e manipular cabeçalhos HTTP (adicionar, modificar e remover cabeçalhos).

No entanto, a documentação do haproxy afirma que isso não é incentivado e sua configuração deve funcionar (sem reconfiguração) com e sem o haproxy sendo executado entre seus clientes e seus servidores reais. Seguindo esta recomendação, será melhor usar o mod_rewrite do apache.

    
por 01.12.2011 / 21:43
5

Você pode fazer isso com os comandos 'reqrep' ou 'reqirep':

reqrep ^([^\ ]*)\ (.*)/dev \ / if acl_dev
    
por 01.12.2011 / 20:32

Tags