Deixe-me sugerir algumas coisas:
- Você deve separar sua configuração insegura e segura em dois blocos separados, desta forma você pode controlar mais facilmente os casos de ACL e redirecionamento.
- Para o redirecionamento, tente usar o formato
redirect location <absolute_url> if <conditions>
- Para detectar os caminhos do URI, tente usar
path_beg -i /blog
- Finalmente, você não será capaz de redirecionar as pessoas de uma conexão HTTPS, isso é considerado inseguro e não é suportado.
Aqui estão minhas modificações sugeridas para a parte incoming
da sua configuração, com base nesses comentários. Isso deve redirecionar o link para o link E falhará quando uma tentativa é feita para o link (você pode colocar uma página lá com uma sugestão de link para o usuário).
frontend public
bind *:80
acl has_blog_uri path_beg -i /blog
redirect location https://www.test.com if !has_blog_uri
use_backend blog_app if has_blog_uri
frontend public-ssl
bind *:443 ssl crt /etc/haproxy/test.pem
acl has_blog_uri path_beg -i /blog
use_backend rails_app if !has_blog_uri
Espero que isso ajude.