Como fazer autenticação básica com HAProxy enquanto faz outra ACL?

Como fazer autenticação básica com HAProxy enquanto faz outra ACL?

Estou executando o HAProxy na frente de servidores Apache e quero implementar autenticação básica para alguns domínios.

O manual afirma que isso deve funcionar:

userlist admins
user myusername insecure-password mypassword

frontend restricted_cluster
   acl auth_tintoretto http_auth(admins)
   http-request auth realm ShareaholicRestricted

No entanto, tenho outra ACL e sob um frontend existem vários domínios:

 frontend http-in

    # Define hosts
    acl stag_static hdr(host) -i staging.static.domain.com
    acl prod_static hdr(host) -i prod2.static.domain.com

    ## figure out which one to use
    use_backend apache-node1 if stag_static
    use_backend nginx-cluster if prod_static

Como combino esses comandos para restringir apenas o acesso ao stag_static?

Responder1

Não testei, mas tente colocar a http-request auth realm blahlinha na sua configuração de back-end. Deveria funcionar.

Responder2

Predicar http-request authna ACL correspondente ao site que você deseja autenticar:

frontend http-in
  acl stag_static hdr(host) -i staging.static.example.com
  acl prod_static hdr(host) -i prod2.static.examplecom

  http-request auth realm "The No Homers Club" if stag_static

  use_backend apache-node1 if stag_static
  use_backend nginx-cluster if prod_static

informação relacionada