Proxies autenticados no balanceador de carga HAProxy

2

Eu quero alternar entre alguns proxies autenticados http. Mas eu não consigo conectar isso no arquivo de configuração porque a estrutura da url é diferente. Funciona quando eu remover o nome de usuário e passar (mas solicitando o nome de usuário e passe claro). Existe uma maneira de enviar as credenciais? Se eu não adicioná-los, estou recebendo um erro de autenticação de proxy 407.

global
        daemon
        maxconn 500

defaults
        mode http
        timeout connect 5000ms
        timeout client 50000ms
        timeout         server 50000ms

frontend rotatingproxies
        bind *:3000
        default_backend rotateproxy
        option http_proxy
        option http-use-proxy-header

backend rotateproxy
        option http_proxy 
        server proxyserver user:[email protected]:9999
        server proxyserver user:[email protected]:9999

        balance roundrobin
    
por Vinoth Gopi 06.05.2012 / 08:28

2 respostas

4

Não funciona assim. Você precisa do endereço real do servidor. Se você quiser adicionar um nome de usuário e senha, há uma solução. Você precisa primeiro codificá-los em base64 manualmente e adicionar a string resultante no cabeçalho de Autorização de Proxy. Por exemplo:

$ echo -n user:pass | openssl enc -a
dXNlcjpwYXNz

backend rotateproxy
   server proxy1 ip1:9999
   server proxy2 ip2:9999
   reqadd Proxy-Authorization:\ Basic\ dXNlcjpwYXNz

Seu cliente terá que usar o haproxy como um proxy explícito, e você precisará remover "opção http_proxy".

    
por 09.05.2012 / 00:21
0

Eu pesquisei a documentação do HAProxy-1.3 e ela não parece apoiar o que você está pedindo.

Se você tiver acesso ao servidor de back-end, sugiro ativar a autenticação e adicionar outro servidor da Web, por exemplo, nginx, na frente do HAProxy para fazer apenas autenticação básica http.

    
por 08.05.2012 / 14:39

Tags