fix(nginx): disable absolute redirects

This commit is contained in:
arcnmx 2024-10-18 10:55:36 -07:00
parent 3e5c5f3130
commit 2c764ddf9a
2 changed files with 12 additions and 1 deletions

View file

@ -1,5 +1,9 @@
let let
xInit = true; xInit = true;
extraConfigCommon = ''
absolute_redirect off;
port_in_redirect off;
'';
xCloudflared = {virtualHost}: let xCloudflared = {virtualHost}: let
host = host =
if virtualHost.proxied.cloudflared.host == virtualHost.serverName if virtualHost.proxied.cloudflared.host == virtualHost.serverName
@ -10,6 +14,7 @@ let
set $proxied_host_cf ${host}; set $proxied_host_cf ${host};
''; '';
xNotCloudflared = '' xNotCloudflared = ''
server_name_in_redirect off;
set $proxied_cf ""; set $proxied_cf "";
set $proxied_host_cf ""; set $proxied_host_cf "";
''; '';
@ -105,6 +110,9 @@ let
defaults = mkIf (!xInit && cfg.enable != virtualHost.proxied.enable) (mapAlmostOptionDefaults (xDefaults {inherit cfg;})); defaults = mkIf (!xInit && cfg.enable != virtualHost.proxied.enable) (mapAlmostOptionDefaults (xDefaults {inherit cfg;}));
}; };
extraConfig = mkMerge [ extraConfig = mkMerge [
(mkIf emitVars (
mkJustBefore extraConfigCommon
))
(mkIf (cfg.enable == "cloudflared" && virtualHost.proxied.enable != "cloudflared") ( (mkIf (cfg.enable == "cloudflared" && virtualHost.proxied.enable != "cloudflared") (
mkJustBefore (xCloudflared {inherit virtualHost;}) mkJustBefore (xCloudflared {inherit virtualHost;})
)) ))
@ -216,6 +224,9 @@ let
); );
}; };
extraConfig = mkMerge [ extraConfig = mkMerge [
(mkIf cfg.enabled (
mkOrder orderJustBefore extraConfigCommon
))
(mkIf (cfg.enable == "cloudflared") ( (mkIf (cfg.enable == "cloudflared") (
mkOrder orderJustBefore (xCloudflared {virtualHost = config;}) mkOrder orderJustBefore (xCloudflared {virtualHost = config;})
)) ))

View file

@ -80,7 +80,7 @@ in {
then "bmap" then "bmap"
else "dmap"; else "dmap";
in { in {
return = "302 ${xvars.get.scheme}://${xvars.get.host}/minecraft/${defaultMap}/"; return = "302 /minecraft/${defaultMap}/";
}; };
"/minecraft/dmap/" = mkIf minecraft.ports.dynmap.enable { "/minecraft/dmap/" = mkIf minecraft.ports.dynmap.enable {
proxy = { proxy = {