HAProxy: viscosidade da sessão acionada pelo cabeçalho de resposta possível?

5

Estou investigando o HAProxy como um possível substituto para o F5. F5 é capaz de persistir uma sessão com base em um valor de cabeçalho de resposta:

when HTTP_RESPONSE {
  set session [HTTP::header X-Session]
  if {$session ne ""} {
    persist add uie $session
  }
}

e, em seguida, rotear todos os pedidos subsequentes que contenham o mesmo ID de sessão em um cabeçalho, parâmetro de consulta, caminho, etc. para a mesma máquina, por exemplo:

when HTTP_REQUEST {
  set session [findstr [HTTP::path] "/session/" 9 /]
  if {$session} {
    persist uie $session
  }
}

Gostaria de saber se isso é possível com o HAProxy?

    
por zoli 08.09.2012 / 02:45

1 resposta

3

O HAProxy 1.5 (a versão atual de desenvolvimento) implementa a aderência na resposta com o Comando stick store-response . O comando seria assim:

stick store-response hdr(X-Session)
stick on url-param(session) # the session ID is in a query parameter
# if the session ID is in the path, like /session/{session ID}/doSomething
# in this case, the X-Session header value probably has to be the format "/session/{session ID}"
# and the session ID length has to be fixed
stick on path {session ID + path prefix length, including slashes} if path_beg "/session"

Aviso: o acima é baseado na leitura dos documentos, não testados em uma instalação HAProxy real.

    
por 10.09.2012 / 22:43