about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorJanne Heß <janne@hess.ooo>2019-03-06 10:42:46 +0100
committerDanylo Hlynskyi <abcz2.uprola@gmail.com>2019-03-06 11:42:46 +0200
commit3de5726e9b9f25ddc2611c10bf38c09ba90f9068 (patch)
treec50266ad862cc9fe9e2f710767817e3243685437 /nixos
parent6fb8b38afcaf1ae6629dfa236838b3156414a44b (diff)
downloadnixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.tar
nixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.tar.gz
nixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.tar.bz2
nixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.tar.lz
nixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.tar.xz
nixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.tar.zst
nixlib-3de5726e9b9f25ddc2611c10bf38c09ba90f9068.zip
nixos/nginx: Support additional listen parameters (#56835)
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix3
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix1
2 files changed, 3 insertions, 1 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 8474926d1790..1c9fbe048f84 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -194,11 +194,12 @@ let
             then filter (x: x.ssl) defaultListen
             else defaultListen;
 
-        listenString = { addr, port, ssl, ... }:
+        listenString = { addr, port, ssl, extraParameters ? [], ... }:
           "listen ${addr}:${toString port} "
           + optionalString ssl "ssl "
           + optionalString (ssl && vhost.http2) "http2 "
           + optionalString vhost.default "default_server "
+          + optionalString (extraParameters != []) (concatStringsSep " " extraParameters)
           + ";";
 
         redirectListen = filter (x: !x.ssl) defaultListen;
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 6a50d8ed5cd4..15b933c984a6 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -31,6 +31,7 @@ with lib;
         addr = mkOption { type = str;  description = "IP address.";  };
         port = mkOption { type = int;  description = "Port number."; default = 80; };
         ssl  = mkOption { type = bool; description = "Enable SSL.";  default = false; };
+        extraParameters = mkOption { type = listOf str; description = "Extra parameters of this listen directive."; default = []; example = [ "reuseport" "deferred" ]; };
       }; });
       default = [];
       example = [