Como configuro o Haproxy para escolher um back-end baseado no conteúdo do corpo da solicitação de HTTP (não em cabeçalhos)?

2

O Haproxy parece fornecer muitas habilidades para a mudança de conteúdo nos cabeçalhos HTTP Request (e URL, etc.). No entanto, estou procurando uma solução para escolher um back-end com base na correspondência de uma string (em um pacote SOAP) no corpo da solicitação de HTTP.

Alguém tem uma solução para isso?

    
por davemyron 14.12.2010 / 01:23

1 resposta

1

Não parece que isso seja possível, a julgar pela seção "Matching Layer 7" da configuração documentação . Você pode ser capaz de fazer isso com o recurso de payload, mas eu nunca tentei isso e parece que ele foi projetado para a aderência da sessão:

payload(offset,length) This extracts a binary block of bytes, and starting at bytes in the buffer of request or response (request on "stick on" or "stick match" or response in on "stick store response").

Isso foi dito que parece uma coisa estranha para mim. Ter que extrair dados da carga parece ser um processo intensivo. Isso também parece ser uma maneira não padronizada de fazer isso comigo. Se isso for verdade, mesmo se o haproxy puder , você pode acabar tornando o haproxy uma dependência do seu aplicativo (embora eu seja um grande fã do HAProxy, isso nunca é uma boa idéia). Você pode extrair valores das solicitações de URL, do cabeçalho e dos cookies facilmente. Assim, poderemos ajudá-lo mais se você explicar por que está analisando essa solução.

    
por 14.12.2010 / 14:46

Tags