HAProxy stick table

4

Eu tenho um problema em que eu preciso da mesma conexão TCP RTMP para acessar o mesmo servidor com o qual ele se conectou, se era http ou https. O seguinte trabalha com http:

frontend http
    mode http
    bind :80
    default_backend web_servers

frontend rtmp
    mode tcp
    bind :1935
    default_backend rtmp

backend web_servers
    mode http
    option forwardfor
    balance roundrobin
    stick store-request src 
    stick-table type ip size 200k expire 2m
    server web1 10.0.0.2:8080 check
    server web2 10.0.0.3:8080 check

backend rtmp
    mode tcp
    stick match src table web_servers
    server web1 10.0.0.2:1935 
    server web2 10.0.0.3:1935 

A minha pergunta é se eu introduzir a conexão https, como eu distinguiria usar o mesmo servidor backend ao qual ele se conecta se é http ou https. Eu tentei ver se eu posso usar 2 "stick match src table" entradas, mas isso não funciona. Por exemplo, tentei o seguinte e espero que você entenda o que estou tentando realizar.

frontend http
    mode http
    bind :80
    default_backend web_servers

frontend https
    bind :8081
    default_backend https

frontend rtmp
    mode tcp
    bind :1935
    default_backend rtmp

backend web_servers
    mode http
    option forwardfor
    balance roundrobin
    stick store-request src 
    stick-table type ip size 200k expire 2m
    server web1 10.0.0.2:8080 check
    server web2 10.0.0.3:8080 check

backend https
    balance roundrobin
    stick store-request src
    stick-table type ip size 200k expire 30m
    option forwardfor
    reqadd X-Forwarded-Proto:\ https
    server web1 10.0.0.2:8080 check
    server web2 10.0.0.3:8080 check


backend rtmp
    mode tcp
    stick match src table web_servers
    stick match src table https   <-- I added this
    server web1 10.0.0.2:1935 
    server web2 10.0.0.3:1935

O acima não funciona quando tento com https. Se eu comentar um, o outro funcionará para que haja um conflito. Eu provavelmente vou ter que adicionar uma condição e eu tentei alguns, mas não tendo sorte. Alguma ponteira? Agradecemos antecipadamente.

    
por ChriSxStyles 19.02.2012 / 20:30

0 respostas

Tags