Eu preciso configurar o haproxy com várias portas ssl

2

Eu tenho dois servidores que têm o mesmo URL, mas o número da porta pode mudar.

Eu quero redirecionar essas duas URLs HTTPS.

Se eu inserir meu primeiro URL ( http://example.com ), desejo redirecionar para https://example.com .

Se eu inserir o segundo URL ( http://example.com:8080 ), quero redirecioná-lo para https://example.com:8080 .

Veja minhas configurações:

frontend www-HTTP
  bind *:80
  bind *:443 ssl crt /etc/apache2/ssl/apache.pem
  reqadd X-Forwarded-Proto:\ https
  default_backend tcp-backend
  mode tcp

frontend TCP-HTTP
  bind *:8080
  bind *:8443 ssl crt /etc/apache2/ssl/paritech.pem
  reqadd X-Forwarded-Proto:\ https
  default_backend www-backend
  mode tcp

backend www-backend
  redirect scheme https if !{ ssl_fc }
  server dev.example.com 192.168.1.120:8080 check

backend TCP-backend
  redirect scheme https if !{ ssl_fc }
  server qa.example.com 192.168.1.120:80 check

Como posso redirecionar o 8080 para o 8443 para HTTPS ...

    
por parag bharne 07.02.2017 / 12:45

1 resposta

2

A documentação de redirect scheme diz

With "redirect scheme", then the "Location" header is built by concatenating with "://" then the first occurrence of the "Host" header, and then the URI path, including the query string...

Existe o problema: ele está usando o Host Header e seu 8080 ...

Aqui está uma solução possível:

http-request replace-header Host ^(.*?)(:[0-9]+)?$ :8443
http-request redirect scheme https if !{ ssl_fc }

Que substituem o cabeçalho Host pela porta correta ...

    
por 19.02.2017 / 14:39