HAProxy als TCP Load Balancer (SSL Passthrough) funktioniert nicht?

1
olivierg 2019-10-16 00:06.

Ich habe einige Probleme beim Einrichten von HAProxy als TCP-Load-Balancer (Schicht 4) und möchte Ihren Rat dazu haben.

Ich habe viele Anleitungen im Web befolgt und mir diese Konfiguration ausgedacht (keine Fehler in den Protokollen werden angezeigt, sie beginnt gut):

Hinweis: Echte Domainnamen werden maskiert

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
 daemon
 user                haproxy
 group               haproxy
 log                 /dev/log local6 debug
 maxconn             50000
 chroot              /var/lib/haproxy
 pidfile             /var/run/haproxy.pid

#---------------------------------------------------------------------
# common defaults 
#---------------------------------------------------------------------
defaults
 mode                 tcp
 log                  global
 option               dontlognull
 timeout connect      5000
 timeout client       50000
 timeout server       50000

#---------------------------------------------------------------------
# dedicated stats page
#---------------------------------------------------------------------
listen stats
 mode http
 bind :22222
 stats enable
 stats uri            /haproxy?stats
 stats realm          Haproxy\ Statistics
 stats auth           xxxxxx:xxxxxxxx
 stats refresh        30s

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main_https_listen
 bind *:443
 mode                tcp
 option              tcplog

# -------------------------------
# ACLs - SIT
# -------------------------------

acl acl_SIT_CI5      req.ssl_sni -i url1.domain.net
acl acl_SIT_HR8      req.ssl_sni -i url2.domain.net

# -------------------------------
# Conditions - SIT
# -------------------------------

use_backend backend_SIT_CI5 if acl_SIT_CI5
use_backend backend_SIT_HR8 if acl_SIT_HR8

#---------------------------------------------------------------------
# Backends
#---------------------------------------------------------------------

backend backend_SIT_CI5
 mode tcp
 balance source
 option ssl-hello-chk
 server server_SIT_CI5_1 host1.domain.net:443 check
 server server_SIT_CI5_2 host2.domain.net:443 check

backend backend_SIT_HR8
 mode tcp
 balance source
 option ssl-hello-chk
 server server_SIT_HR8_1 host1.domain.net:443 check
 server server_SIT_HR8_2 host2.domain.net:443 check

Ich habe host1.domain.net auf mein haproxy vIP verwiesen (es hat eine Keepalived-Konfiguration mit einer virtuellen IP).

jetzt beim Zugriff https://url1.domain.net (oder auch https://loadbalancerURLaber ich gehe davon aus, dass dies normal ist) Ich habe einen Fehler Diese Seite kann nicht angezeigt werden. Aktivieren Sie TLS 1.0, TLS 1.1 und TLS 1.2 in den erweiterten Einstellungen und versuchen Sie, eine Verbindung zu herzustellenhttps://host1.domain.netwieder .

Ein einzelner openssl s_client führt zu einem ssl-Handshake-Fehler (keine Zertifikate blabla).

Hast du eine Vorstellung davon, was ich falsch gemacht habe? Muss ich auch einige Zertifikate einrichten, während ich 443 höre? (Auch wenn ich nicht möchte, dass diese Zertifikate entschlüsselt werden oder was auch immer, da ich nur möchte, dass mein HAProxy als Proxy fungiert).

Ich habe auch versucht, den Debug-Modus für die Protokollierung zu aktivieren, aber es wurden keine Fehler angezeigt (noch neue Protokolle).

Hinweis: Die Backends befinden sich hinter Firewalls. Die Kommunikation zwischen den Backends zu HAProxy ist auf 443 nicht geöffnet (nur VON Haproxy zu den Backends). Muss sie gerichtet sein? und warum ?

note2: in haproxy stats kann ich alle backends UP sehen

Gibt es auch eine Möglichkeit zu wissen / zu überprüfen, ob eine Umleitung basierend auf dem Hostnamen (SNI) ordnungsgemäß funktioniert oder nicht? (Ich habe den Eindruck, dass die Verbindung am Load Balancer bleibt und nicht zum Backend umgeleitet wird. Deshalb habe ich einen Fehler.)

ein haproxy -vv gibt:

HA-Proxy version 1.5.18 2016/05/10
Copyright 2000-2016 Willy Tarreau <[email protected]>

Build options :
  TARGET  = linux2628
  CPU     = generic
  CC      = gcc
  CFLAGS  = -O2 -g -fno-strict-aliasing -DTCP_USER_TIMEOUT=18
  OPTIONS = USE_LINUX_TPROXY=1 USE_GETADDRINFO=1 USE_ZLIB=1 USE_REGPARM=1     USE_OPENSSL=1 USE_PCRE=1

Default settings :
  maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200

Encrypted password support via crypt(3): yes
Built with zlib version : 1.2.7
Compression algorithms supported : identity, deflate, gzip
Built with OpenSSL version : OpenSSL 1.0.2k-fips  26 Jan 2017
Running on OpenSSL version : OpenSSL 1.0.2k-fips  26 Jan 2017
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 8.32 2012-11-30
PCRE library supports JIT : no (USE_PCRE_JIT not set)
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT     IP_FREEBIND

Available polling systems :
      epoll : pref=300,  test result OK
       poll : pref=200,  test result OK
     select : pref=150,  test result OK
Total: 3 (3 usable), will use epoll.

1 answers

0
olivierg 2019-10-16 05:26.

ew, ich habe es geschafft, indem ich es im Frontend hinzugefügt habe (nachdem ich mir diesen Beitrag angesehen habe :)

tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }

Die Sache ist, ich weiß nicht, was diese Optionen tun .. oder warum ich sie angeben muss. Bedeutet dies, dass das Standardverhalten von HAProxy darin besteht, etwas abzulehnen?

Related questions

MORE COOL STUFF

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett widersetzte sich typischen Dating-Ratschlägen, als sie ihren Ehemann traf.

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Michael Sheen ist ein gemeinnütziger Schauspieler, aber was genau bedeutet das?

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sprach über spannende Fan-Begegnungen bei RomaDrama Live! plus sein INSPIRE-Programm auf der Convention.

Warum Sie „Northern Exposure“ nicht online streamen können

Warum Sie „Northern Exposure“ nicht online streamen können

Sie müssen einen Blu-ray- oder DVD-Player abstauben, um zu sehen, warum Northern Exposure zu einer der beliebtesten Shows der 90er Jahre wurde.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie Ihr Papierhandtuch, Toilettenpapier und Geschenkpapierrollen nicht in den Müll. Geben Sie ihnen stattdessen mit einem dieser 10 Hacks ein zweites Leben.

Schlafen Fische?

Schlafen Fische?

Es ist schwer vorstellbar, dass Nemo im Great Barrier Reef ein paar Zs fängt. Aber Fische brauchen Ruhe. Schlafen sie so wie wir?

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Haarteile aus Salons und persönliche Spenden können als Matten wiederverwendet werden, die Ölverschmutzungen aufsaugen und zum Schutz der Umwelt beitragen.

Der Curiosity Rover der NASA erfasst ein atemberaubendes Panorama der Marslandschaft

Der Curiosity Rover der NASA erfasst ein atemberaubendes Panorama der Marslandschaft

Bild: NASA / Gizmodo Nach Monaten stetigen Fortschritts hat der Curiosity Rover der NASA die Spitze des Vera Rubin Ridge erreicht. Und wie der gute Bergsteiger, der es ist, nutzte der Rover die Gelegenheit, sich umzusehen und die Aussicht von oben zu genießen.

Ist das der Anfang vom Ende von Brittney Griners Inhaftierung?

Ist das der Anfang vom Ende von Brittney Griners Inhaftierung?

Brittney Griner (r.) Brittney Griners Status war von Anfang an die einzigartigste amerikanische Geiselsituation in der modernen Geschichte.

Tom Brady ist der erste Quarterback, der Julio Jones endlich mehr als 10 Touchdowns in einer Saison bescheren kann

Tom Brady ist der erste Quarterback, der Julio Jones endlich mehr als 10 Touchdowns in einer Saison bescheren kann

Wir konnten dieses Jahr viel mehr von einem gesunden Julio Jones in der Endzone sehen. John Parker Wilson, Greg McElroy, A.

Es musste Deutschland sein

Es musste Deutschland sein

Für England gibt es keinen größeren Bösewicht Die meisten englischen Fans, wenn nicht alle, hätten mit dem Kopf genickt, als der Schlusspfiff des zweiten Halbfinals der W Euro 2022 ertönte. Denn es signalisierte, dass Deutschland im Wembley-Finale auf England und das einzige zwischen den Engländern und der Damenmannschaft warten würde, um den ersten großen Pokal.

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon hat am Dienstag die Vorwahlen von Michigan zum Gouverneur gewonnen, nachdem er eine späte Bestätigung des ehemaligen Präsidenten Donald Trump erhalten hatte

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr. Von Hollywood bis New York und überall dazwischen, sehen Sie, was Ihre Lieblingsstars vorhaben!

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

Die Ermittler prüfen, ob sich die Gruppe und der Verdächtige vor dem Angriff kannten

Start- und Landebahnen

Start- und Landebahnen

Spätsommer und Herbst sind nostalgische Jahreszeiten. Straßenlaternen werfen ihr Licht über regennasse Straßen, und die Blätter unter den Füßen – gedämpft rot-orange im Schatten der Dämmerung – erinnern an vergangene Tage.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Im Jahr 2021 ermutige ich Sie, alles zu überdenken, was Sie über die Kunden, die Sie bedienen, und die Geschichten, die Sie ihnen erzählen, wissen. Zurücktreten.

Ein Mammutverlust öffnete mein Herz für die Liebe

Ein Mammutverlust öffnete mein Herz für die Liebe

Am Tag des 9. Geburtstags von Felix The Cat erinnere ich mich an einen der größten Verluste meines Erwachsenenlebens – meine Sophie im Jahr 2013. Ich habe diesen Essay geschrieben und ihn kurz im Jahr 2013 auf dieser Plattform geteilt.

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Ich hasse das Wort „Zugwrack“. Die Menschen trösten sich mit ihrem eigenen moralischen Kompass und treffen dabei auf ein Urteil.

Language