try to explain haproxy i guess
This commit is contained in:
parent
65589c1586
commit
45ab9376f5
1 changed files with 14 additions and 3 deletions
|
|
@ -157,6 +157,7 @@
|
|||
timeout client 30s
|
||||
timeout server 30s
|
||||
|
||||
# stats seite zeigt backend connection status, wenn check gesetzt ist
|
||||
frontend stats
|
||||
bind 127.0.0.1:8404
|
||||
mode http
|
||||
|
|
@ -170,12 +171,16 @@
|
|||
frontend http-in
|
||||
bind *:80
|
||||
|
||||
# hier wird eine regel pro domain aus der forwarder liste generiert
|
||||
${lib.foldlAttrs (
|
||||
prev: name: value:
|
||||
prev + "acl is_${name} hdr(host) -i ${value.domain}\n"
|
||||
) "" forwards}
|
||||
|
||||
# ist request eine acme challenge?
|
||||
acl is_acme path_beg /.well-known/acme-challenge/
|
||||
|
||||
# pro domain wird ein backend festgelegt und auf https redirected wenn es keine acme request ist
|
||||
${lib.foldlAttrs (
|
||||
prev: name: value:
|
||||
prev + ''
|
||||
|
|
@ -184,11 +189,15 @@
|
|||
''
|
||||
) "" forwards}
|
||||
|
||||
# das default backend zeigt die liste aller redirects an
|
||||
# die liste darf nicht auf 443 redirected werden, da cert fehlt
|
||||
default_backend default_backend
|
||||
|
||||
# ssh redirect srs2
|
||||
frontend ssh_jump_alt
|
||||
bind *:2142
|
||||
mode tcp
|
||||
# gönn mal session timeout
|
||||
timeout client 30m
|
||||
log-format "%ci:%cp [%t] %ft %b/%s %Tw/%Tc/%Tt %B %ts %ac/%fc/%bc/%sc/%rc %sq/%bq dst:%[var(sess.dst)] "
|
||||
use_backend ssh_srs2
|
||||
|
|
@ -197,19 +206,22 @@
|
|||
frontend sni_router
|
||||
bind *:443
|
||||
mode tcp
|
||||
# mehrere pakete puffern und connection beenden wenn es kein ssl handshake sieht
|
||||
tcp-request inspect-delay 1s
|
||||
tcp-request content accept if { req_ssl_hello_type 1 }
|
||||
|
||||
# terminated here
|
||||
# tcp redirect der anwendung basierend auf ssl_sni handshake parameter
|
||||
${lib.foldlAttrs (
|
||||
prev: name: value:
|
||||
prev + "use_backend ${name}_443 if { req_ssl_sni -i ${value.domain} }\n"
|
||||
) "" forwards}
|
||||
|
||||
# default backend http static file generated above
|
||||
backend default_backend
|
||||
mode http
|
||||
http-request return status 200 content-type "text/html" file ${indexPage}
|
||||
|
||||
# ssh srs2 backend
|
||||
backend ssh_srs2
|
||||
mode tcp
|
||||
timeout server 30m
|
||||
|
|
@ -217,6 +229,7 @@
|
|||
option tcpka
|
||||
server srs2 141.56.51.2:80 check
|
||||
|
||||
# ein backend pro forwards eintrag für port 80 und 443
|
||||
${lib.foldlAttrs (
|
||||
prev: name: value:
|
||||
prev
|
||||
|
|
@ -236,8 +249,6 @@
|
|||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
openvpn
|
||||
tcpdump
|
||||
];
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue