summary refs log tree commit diff
path: root/nixos/modules/services/web-servers
diff options
context:
space:
mode:
authorCarl Dong <git@carldong.me>2023-07-07 11:52:37 -0400
committerCarl Dong <git@carldong.me>2023-10-09 21:16:03 -0400
commite5c2c71280244eca8fd2dc87f2be0ca1db7f49dd (patch)
treedbb9464bbf469b4ef8b6acbd1ad50500b86d8efc /nixos/modules/services/web-servers
parent354d127959044be2ee5bcaf6ed86969a301322aa (diff)
downloadnixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.tar
nixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.tar.gz
nixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.tar.bz2
nixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.tar.lz
nixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.tar.xz
nixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.tar.zst
nixpkgs-e5c2c71280244eca8fd2dc87f2be0ca1db7f49dd.zip
nixos/nginx: Allow empty port for listen directive
When listening on unix sockets, it doesn't make sense to specify a port
for nginx's listen directive.

Since nginx defaults to port 80 when the port isn't specified (but the
address is), we can change the default for the option to null as well
without changing any behaviour.
Diffstat (limited to 'nixos/modules/services/web-servers')
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix4
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix7
2 files changed, 6 insertions, 5 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 955d6e19064..9eebd18855c 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -329,7 +329,7 @@ let
         listenString = { addr, port, ssl, proxyProtocol ? false, extraParameters ? [], ... }:
           # UDP listener for QUIC transport protocol.
           (optionalString (ssl && vhost.quic) ("
-            listen ${addr}:${toString port} quic "
+            listen ${addr}${optionalString (port != null) ":${toString port}"} quic "
           + optionalString vhost.default "default_server "
           + optionalString vhost.reuseport "reuseport "
           + optionalString (extraParameters != []) (concatStringsSep " "
@@ -338,7 +338,7 @@ let
             in filter isCompatibleParameter extraParameters))
           + ";"))
           + "
-            listen ${addr}:${toString port} "
+            listen ${addr}${optionalString (port != null) ":${toString port}"} "
           + optionalString (ssl && vhost.http2 && oldHTTP2) "http2 "
           + optionalString ssl "ssl "
           + optionalString vhost.default "default_server "
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 7636c1b2611..c82f02ecefe 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -31,12 +31,12 @@ with lib;
         options = {
           addr = mkOption {
             type = str;
-            description = lib.mdDoc "IP address.";
+            description = lib.mdDoc "Listen address.";
           };
           port = mkOption {
-            type = port;
+            type = types.nullOr port;
             description = lib.mdDoc "Port number.";
-            default = 80;
+            default = null;
           };
           ssl = mkOption {
             type = bool;
@@ -60,6 +60,7 @@ with lib;
       example = [
         { addr = "195.154.1.1"; port = 443; ssl = true; }
         { addr = "192.154.1.1"; port = 80; }
+        { addr = "unix:/var/run/nginx.sock"; }
       ];
       description = lib.mdDoc ''
         Listen addresses and ports for this virtual host.