Laden...

haproxy dynamic ACL

Erstellt von Campy vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.846 Views
C
Campy Themenstarter:in
439 Beiträge seit 2008
vor 7 Jahren
haproxy dynamic ACL

Hallo zusammen,

ich bin mir nicht 100%ig sicher ob diese Frage hier rein passt und ob sich jemand damit auskennt - ich habe folgende Problemstellung:

  • Meine Dockercontainer registrieren sich im Netzwerk über DHCP mit Hostname.app.internal
  • Als Proxy verwende ich haproxy (http://www.haproxy.org)

Nun möchte ich dynamisch alle Anfragen die den haproxy erreichen, dynamisch und ohne für jede Container manuell einen Eintrag zu machen, folgendermaßen an die Container (mittels DNS Auflösung) weiterleiten lassen:

www.test.com/demo1 -> demo1.app.internal
www.test.com/xyz -> xyz.app.internal
www.test.com/test -> test.app.internal
usw.

Hat jemand eine Idee wie das mit haproxy geht oder einen anderen / besseren Ansatz?

Vielen Dank!

A programmer is just a tool, which converts coffeine into code! 🙂

16.807 Beiträge seit 2008
vor 7 Jahren

Ich hab sowas schon einige male in Usergroups und Konferenzen gesehen, die da mittels nginx reverse proxy lösen.
Mein Wissens in dem Bereich ist aber zu gering, dass ich Dir da tiefer helfen könnte. Dafür gibts bessere IT-Pros 😃

C
Campy Themenstarter:in
439 Beiträge seit 2008
vor 7 Jahren

Hallo Abt,

ja nginx hab ich auch auf meiner Testliste 😃
haproxy bietet bezüglich Statistik und Auswertung nur viel mehr Möglichkeiten, deshalb wollte ich es mal damit probieren.

Ich schau mal und werde dann evtl. eine Anleitung hier posten.

A programmer is just a tool, which converts coffeine into code! 🙂

16.807 Beiträge seit 2008
vor 7 Jahren

Hier geklauter Code von Coffeebean für nen Location Mapping in nginx.

server {

    listen 80;

    location / {
        proxy_pass http://localhost:5123;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /abc {
        proxy_pass http://localhost:9999;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
2.207 Beiträge seit 2011
vor 7 Jahren

Hallo Campy,

ich hatte als Demo auf den Microsoft TechDays einen nginx auf Linux eingerichtet der mir nur als Proxy gedient hat. Hab dann eine WebAPI (ASP.NET Core) laufen lassen auf Port 5000 und Port 80 drauf gemappt. Das ist nicht ganz das, was du willst glaube ich, aber im Grunde macht er auch nur ein redirect. Bei mir halt nur einen (Port 80 auf Port 5000).

Code hat Abt gerade gepostet.

Gruss

Coffeebean