it-swarm.com.de

Möglich, eine grundlegende HTTP-Zugriffsauthentifizierung über HAProxy hinzuzufügen?

Ich habe HAProxy erfolgreich vor einem HTTP-Server eingerichtet, über den ich keine Kontrolle habe .

Ist es möglich, HAProxy so zu konfigurieren, dass einfache HTTP-Authentifizierung zu allen Sites hinzugefügt wird, wenn ich bedenke, dass ich dies im Backend nicht konfigurieren kann?

Vielen Dank,

Lars

25
Lars Schneider

Ich musste dies heute selbst tun (weil IIS 7.5 die Authentifizierung gegen etwas anderes als Windows-Benutzerkonten oder AD nicht unterstützt!) ...

Hier ist der ganze Code

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

Ich habe es hier etwas besser dokumentiert: http://nbevans.wordpress.com/2011/03/03/cultural-learnings-of-ha-proxy-for-make-benefit/

36
nbevans

Ich denke, das ist tatsächlich möglich, aber im Moment kann ich nur ein Beispiel finden, um Sie auf halbem Weg zu bringen ...

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt ist deine Bibel.

Siehe Abschnitt 3.4 (Benutzerlisten)

Es beginnt:

Es ist möglich, den Zugriff auf Frontend-/Backend-/Listen-Abschnitte oder auf http-Statistiken zu steuern, indem nur authentifizierte und autorisierte Benutzer zugelassen werden. Dazu muss mindestens eine Benutzerliste erstellt und Benutzer definiert werden.

In diesem Abschnitt wird erläutert, wie Sie eine Benutzerliste einrichten. Das Beispiel in diesem Abschnitt ist ziemlich vollständig. Kopieren Sie es, wenn nötig.

Als nächstes müssen Sie herausfinden, wie Sie es anwenden können ... Ich denke, die Antwort liegt in Abschnitt 7.5.3 (Matching auf Ebene 7).

Ich denke, es könnte so einfach sein, wie das Folgende in einer ACL zu verwenden:

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.

Auch hier habe ich es nicht getestet, aber das ist es, was ich in der Dokumentation gelesen habe, da dies möglich ist.

Ich hoffe, das ist genug, um Ihnen den Einstieg zu erleichtern?

2
Pricey

Wenn Sie dies zum Zwecke der Authentifizierung eines tun möchten

option httpchk

config funktioniert diese einfachere Lösung: https://stackoverflow.com/questions/13325882/haproxy-solr-healthcheck-with-authentication

1
Dan Richelson