haproxy remapeia a porta tcp com backend único

1

Estou usando o haproxy no modo tcp. Eu tenho um frontend único que ouve várias portas:

frontend front
   mode tcp
   bind *:20000
   bind *:20001
   ...
   default_backend back

E um único back-end que encaminha essas solicitações sem alterar as portas:

backend back
   server myserver server.host.com check port 20000
   server anotherServer another.host.com check port 20000
   server mybackup backup.host backup.host.com check port 20000 backup
   # some other useful backend logic, like logging
   # which I don't want to repeat a bunch of times

Como estamos apoiando algumas APIs herdadas, precisamos aceitar algumas portas antigas de nível inferior e remapá-las. Por exemplo, eu quero aceitar a porta 200 e remapá-la para 20000 , 201 para 20001 , etc.

Eu estava esperando por uma diretiva frontend para alterar a porta como você faria para um cabeçalho no modo http, mas não consigo encontrar um. Terá que abandonar meu backend simples e limpo?

    
por pduncan 14.12.2015 / 21:34

2 respostas

0

Eu usaria 2 backends se eu fosse você.

Se você insistir, poderá usar a opção use-server <server> if <condition> e testar dst_port .

Algo como: use-server bla20001 if dst_port 201 ou algo assim.

    
por 14.12.2015 / 21:44
0

Eu acredito que não há uma boa maneira de fazer isso. Acabei criando mais frontends e backends.

    
por 04.01.2016 / 23:08

Tags