generate redirect for ever virtualhost

This commit is contained in:
goeranh 2026-02-28 15:32:03 +01:00
parent 86ae8197b5
commit 599f0803a1
No known key found for this signature in database

View file

@ -122,22 +122,26 @@
prev: name:
let
cfg = self.nixosConfigurations.${name}.config;
in
prev
// {
"${name}" = {
dest =
vhosts = builtins.attrNames cfg.services.nginx.virtualHosts;
address =
(builtins.head
# dieser ausdruck ermittelt den interface namen und die ipv4 addresse als redirect ziel
cfg.networking.interfaces.${builtins.head (builtins.attrNames cfg.networking.interfaces)}.ipv4.addresses
).address;
# bisher wird ein redirect für den ersten virtualHost generiert
# TODO rediret für jeden virtualHost
domain = builtins.head (builtins.attrNames cfg.services.nginx.virtualHosts);
in
prev
// (builtins.foldl' (
val: vhost:
val
// {
"${vhost}" = {
dest = address;
domain = vhost;
httpsPort = 443;
httpPort = 80;
};
}
) { } vhosts)
)
{ }
(
@ -203,7 +207,7 @@
timeout client 30s
timeout server 30s
# stats seite zeigt backend connection status, wenn check gesetzt ist
# stats seite zeigt backend connection status, wenn check gesetzt ist
frontend stats
bind 127.0.0.1:8404
mode http
@ -229,7 +233,8 @@
# pro domain wird ein backend festgelegt und auf https redirected wenn es keine acme request ist
${lib.foldlAttrs (
prev: name: value:
prev + ''
prev
+ ''
use_backend ${name}_80 if is_${name}
http-request redirect scheme https code 301 if !is_acme is_${name}
''