haproxy statt pound ?

Post Reply
eifeltux
Posts: 8
Joined: December 4th, 2010, 4:54 pm

haproxy statt pound ?

Post by eifeltux » December 15th, 2018, 6:41 pm

Liebe Community,

bis vor einiger Zeit benutzte ich pound, damit ich über eine öffentliche IP-Adresse unterschiedliche Domainnamen auch an unterschiedliche, im grünen Netz befindliche interne Rechner (mit eigener interner IP) weiter leiten konnte, ganz problemlos.

Kann ich bitte ein Beispiel für eine /etc/haproxy/haproxy.cfg bekommen, die genau (NUR) diese Aufgabe erfüllt ?

Vielen Dank vorab,

herzlichen Gruss, Euer EifelTUX Kalle

http://www.eifeltux.de
--------------------------------

eifeltux
Posts: 8
Joined: December 4th, 2010, 4:54 pm

Re: haproxy statt pound ? Wie bekomme ich Antwort ???

Post by eifeltux » December 16th, 2018, 1:01 pm

Hallo liebe Forummitglieder,
was darf / kann ich tun, damit ich von Euch eine Antwort bekomme ???
Unsere Eifeltuxe und Schneifeltuxe helfen auch gerne, wenn gefragt wird. ;-)
Lieben Gruss, Euer EifelTUX Kalle

ummeegge
Community Developer
Community Developer
Posts: 4892
Joined: October 9th, 2010, 10:00 am

Re: haproxy statt pound ?

Post by ummeegge » December 16th, 2018, 4:37 pm

Hallo EifelTUX Kalle,
ich bin nun leider so gar nicht bewandert mit Haproxy habe aber gesehen das Haproxy auch TCP Fast Open --> https://tools.ietf.org/html/rfc7413 unterstützt. Da ich da gerade beim unbound dran bin --> https://bugzilla.ipfire.org/show_bug.cgi?id=11945 würde ich das, auch dank deiner Anfrage, mal testen wollen und hab mir haproxy mal testweise installiert.

Umgebung: Ich mach das alles im LAN wobei mein 2. Fire (auch Server) nun Haproxy installiert hat und mit nahzu standart Konfiguration die Anfrage an meinen lokalen Server (Nextcloud) weiterleiten soll. Alles erstmal ohne ACL´s, hauptsache er läuft erstmal ;) .

Ich weiss nun nicht was du alles schon gemacht hast und wie fit du mit Haproxy bist bzw. wie deine genauen Bedingungen aussehen (hoffe ich langweile dich nicht ;) ) aber hiermit:

Code: Select all

#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local1
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        nobody
    group       nobody
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend http
    bind 192.168.123.180:12345
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js

    default_backend             http

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
#backend static
#    balance     roundrobin
#    server      static 127.0.0.1:4331 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend http
    balance     roundrobin
    server      nextcloud 192.168.123.12:80 check

hab ich ihn erstmal am laufen und konnte den lokalen Nextcloud Server über den IPFire mittels http://ip-ipfire-server:12345 erstmal erreichen. Das Logging unter /var/log/haproxy geht so auch erstmal (Eintrag unter /etc/syslog.conf).

Ist nun leider keine SIAFI (Set It And Forget It) Konfig die ich dir da liefer aber event. ein Anfang ?

Wenn du Ahnung hast wie wir da mal TFO anschalten/testen können bin ich für Rückmeldung diesbezüglich natürlich durchaus empfänglich :) .

Grüsse,

UE
Image
Image

eifeltux
Posts: 8
Joined: December 4th, 2010, 4:54 pm

Re: haproxy statt pound ?

Post by eifeltux » March 16th, 2019, 3:47 pm

Hallo ummeegge,
leider war es mir nicht möglich früher mit unserer Seite www.schneifeltux.de als ADMIN zu arbeiten und mich wieder mit haproxy zu befassen.
Du hast so toll geantwortet und es tut mir sehr leid, dass ich mich erst jetzt wieder melden kann.
Nun wollen wir aber auch ein cloud-image für unsere Schneifeltuxe aufsetzen, aber eben nur mit einer öffentlichen IP., die (zur Zeit noch mit pound) auf zwei unterschiedliche interne IPs umgeleitet werden können.
Dies geschieht bis jetzt noch sehr einfach durch die folgende /etc/pound.cfg:
# global options:

LogFacility local0
LogLevel 2

#################################################
# /etc/pound.cfg
ListenHTTP
Address 0.0.0.0
Port 80

Service
HeadRequire "Host: .*www.schneifeltux.de.*"
BackEnd
Address 192.168.230.123
Port 80
End
End

Service
HeadRequire "Host: .*www.montux.de.*"
BackEnd
Address 192.168.230.122
Port 80
End
End
End
#################################################

Da ich bald einen neuen virtuellen IPfire installieren und auch mit https arbeiten möchte, geht dies in Zukunft eben nur mit haproxy ;-(
Falls Du den Schneifeltuxen noch helfen kannst, wäre das eine tolle Sache.
Wenn es dann zu tief in englische Beschreibungen geht, bekomme ich als ADMIN-Oldie (Baujahr 45) etwas Probleme.

Lieben Gruss aus Monschau, Dein Schneifeltux Kalle

ummeegge
Community Developer
Community Developer
Posts: 4892
Joined: October 9th, 2010, 10:00 am

Re: haproxy statt pound ?

Post by ummeegge » March 16th, 2019, 7:09 pm

Hallo Schneifeltux Kalle,
eine erste alternative vorläufige Überlegung zuerst, meinst du nicht das nginx da auch was wäre --> https://wiki.ipfire.org/nginx/start --> viewtopic.php?f=6&t=16661 ?

Liebe Grüsse and die Schneifel- und Eifeltuxe.

UE
Image
Image

eifeltux
Posts: 8
Joined: December 4th, 2010, 4:54 pm

Re: haproxy statt pound ?

Post by eifeltux » March 18th, 2019, 3:57 pm

Hallo ummeegge,
vielen Dank für den TIP.
Habe auf https://www.mobilistics.de/blog/nginx-r ... proxy.html eine Seite auf deutsch :) gefunden
und glaube, dass dies eine richtig gute Idee ist. Werde das mit ipfire aufsetzen, berichten und eventuell noch mal fragen.
Lieben Gruss aus Monschau
EifelTUX Kalle

ummeegge
Community Developer
Community Developer
Posts: 4892
Joined: October 9th, 2010, 10:00 am

Re: haproxy statt pound ?

Post by ummeegge » March 18th, 2019, 5:32 pm

HalloEifelTUX Kalle,
freue mich das ich dir da einen Hint geben konnte. Die Lernkurve ist bei Nginx am Anfang etwas flacher als bei Haproxy wie ich finde und bietet dennoch reichlich Features. Wegen Verschlüsselung finde ich diese Seite --> https://www.sherbers.de/howto/nginx/ ganz übersichtlich und gut zusammengefasst (und auf deutsch ;) . Da IPFire mit Core 128 mittlerweile auch TLSv1.3 kann wäre das vielleicht ja auch mal ein Versuch wert ? Aber das nur nebenbei.

Liebe Grüsse aus der Karlsruher Meile,

UE
Image
Image

Post Reply