È possibile aggiungere l'autenticazione dell'accesso HTTP di base tramite HAProxy?


Risposte:


36

Oggi ho dovuto farlo da solo (perché IIS 7.5 in realtà non supporta in realtà l'autenticazione con account di Windows o AD!) ...

Ecco tutto il codice

userlist UsersFor_AcmeCorp
  user joebloggs insecure-password letmein

backend HttpServers
  .. normal backend stuff goes here as usual ..
  acl AuthOkay_AcmeCorp http_auth(UsersFor_AcmeCorp)
  http-request auth realm AcmeCorp if !AuthOkay_AcmeCorp

L'ho documentato un po 'meglio qui: http://nbevans.wordpress.com/2011/03/03/cultural-learnings-of-ha-proxy-for-make-benefit/


2
+1 Volevo solo aggiungere che puoi anche aggiungere le righe finali in una frontenddefinizione piuttosto che backendse lo desideri. E la realm xxxxparte è facoltativa.
UpTheCreek

Ho implementato questo, ma ciò che accade è che su ogni successiva chiamata API ottengo il popup che richiede l'autenticazione. Questo lo rende inutilizzabile. Esiste comunque un punto in cui viene richiesto una volta, quindi memorizzato nella cache per il resto delle chiamate? Questo sarebbe molto utile.
shshnk,

2

Penso che questo sia effettivamente possibile, ma in questo momento posso solo trovare un esempio per farti a metà strada ...

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt è la tua bibbia.

Consulta la sezione 3.4 (Elenchi utenti)

Inizia:

È possibile controllare l'accesso alle sezioni frontend / backend / hear o alle statistiche http consentendo solo agli utenti autenticati e autorizzati. Per fare ciò, è necessario creare almeno un elenco utenti e definire utenti.

Quella sezione spiega come impostare un elenco utenti. L'esempio in quella sezione è abbastanza esaustivo, quindi copialo se necessario.

Successivamente, è necessario capire come applicarlo ... Penso che la risposta si trovi nella sezione 7.5.3 (Corrispondenza al livello 7)

Penso che potrebbe essere semplice come usare quanto segue in un acl:

http_auth(userlist)
http_auth_group(userlist) <group> [<group>]*
  Returns true when authentication data received from the client matches
  username & password stored on the userlist. It is also possible to
  use http_auth_group to check if the user is assigned to at least one
  of specified groups.

Ancora una volta, non l'ho provato, ma è quello che ho letto la documentazione come suggerimento possibile.

Spero sia abbastanza per iniziare?


Bel grido, credo di esserci appena abituato!
Costoso

Sebbene lo guardi di nuovo, non sembra che sia stato aggiornato da mesi ... Non ho verificato cambiamenti specifici tra quello e il muro di testo, ma suppongo che ce ne siano alcuni.
Costoso

1
Quel collegamento biblico "migliore" è 404'ing. Ancora meglio sarebbe questo haproxy.org/#docs . Lì troverai chicche manuali HTML / di testo.
Glenn Plas,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.