summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/web-servers/nginx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/web-servers/nginx/default.nix')
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix20
1 files changed, 14 insertions, 6 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 631e92fd6e95..e9630d379f36 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -261,10 +261,7 @@ let
ssl_trusted_certificate ${vhost.sslTrustedCertificate};
''}
- ${optionalString (vhost.basicAuthFile != null || vhost.basicAuth != {}) ''
- auth_basic secured;
- auth_basic_user_file ${if vhost.basicAuthFile != null then vhost.basicAuthFile else mkHtpasswd vhostName vhost.basicAuth};
- ''}
+ ${mkBasicAuth vhostName vhost}
${mkLocations vhost.locations}
@@ -293,9 +290,19 @@ let
${optionalString (config.return != null) "return ${config.return};"}
${config.extraConfig}
${optionalString (config.proxyPass != null && cfg.recommendedProxySettings) "include ${recommendedProxyConfig};"}
+ ${mkBasicAuth "sublocation" config}
}
'') (sortProperties (mapAttrsToList (k: v: v // { location = k; }) locations)));
- mkHtpasswd = vhostName: authDef: pkgs.writeText "${vhostName}.htpasswd" (
+
+ mkBasicAuth = name: zone: optionalString (zone.basicAuthFile != null || zone.basicAuth != {}) (let
+ auth_file = if zone.basicAuthFile != null
+ then zone.basicAuthFile
+ else mkHtpasswd name zone.basicAuth;
+ in ''
+ auth_basic secured;
+ auth_basic_user_file ${auth_file};
+ '');
+ mkHtpasswd = name: authDef: pkgs.writeText "${name}.htpasswd" (
concatStringsSep "\n" (mapAttrsToList (user: password: ''
${user}:{PLAIN}${password}
'') authDef)
@@ -693,6 +700,8 @@ in
${cfg.preStart}
${execCommand} -t
'';
+
+ startLimitIntervalSec = 60;
serviceConfig = {
ExecStart = execCommand;
ExecReload = [
@@ -701,7 +710,6 @@ in
];
Restart = "always";
RestartSec = "10s";
- StartLimitInterval = "1min";
# User and group
User = cfg.user;
Group = cfg.group;