A solicitação não atinge a porta 80 no HAproxy

1

Estou configurando o HAProxy para redirecionar http para https, mas parece que não funciona. A configuração que eu uso é:

/etc/hosts content

127.0.0.1 example.com

Configuração do haproxy

frontend http
  mode http
  bind :80
  bind :443 ssl crt /etc/ssl/
  redirect scheme https if !{ ssl_fc }

  default_backend my_backend

Teste com ondulação indica este erro

$ curl https://example.com < this works 
$ curl http://example.com 
> curl: (7) Failed to connect to 2400:cb00:2048:1::681c:a20: No route to host

No entanto, o comando lsof tem saída

$ sudo lsof -i :80 | grep LISTEN
haproxy   7290 root    4u  IPv4 0x9485b36892b5495d      0t0  TCP *:http (LISTEN)

Estou sem ideia do que há de errado nessa situação. Esta é a primeira vez que configuro o SSL no Haproxy.

    
por nXqd 16.12.2014 / 08:05

1 resposta

1

Eu tenho uma configuração muito semelhante no HAProxy, que funciona. Eu só consigo encontrar duas diferenças entre sua configuração e a minha.

  1. Em /etc/hosts , vinculei example.com a 0.0.0.0 em vez de 127.0.0.1 .
  2. No meu frontend, as duas entradas bind contêm um caractere curinga ( * ) na frente dos dois pontos. Exemplo:

    bind *:80
    bind *:443 ssl crt /etc/ssl/ssl.pem
    

    2a. Eu realmente usei um arquivo pem na minha configuração (como acima), mas vendo como curl https://example.com funcionou, é improvável que este seja o problema.

Também gostaria de sugerir a exibição da saída de netstat -tulpn | grep haproxy para mais detalhes sobre onde o HAProxy está sendo vinculado.

Espero que ajude.

    
por 27.12.2014 / 11:16

Tags