From 871a9b2890fc46a152085df817a23920f8230eeb Mon Sep 17 00:00:00 2001 From: Bert Proesmans Date: Mon, 6 Jan 2025 21:16:06 +0000 Subject: [PATCH 1/2] nixos/nginx: add unix-socket default-listen test case Includes timeout=1 while checking existence of unix socket file paths --- nixos/tests/nginx-unix-socket.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/nixos/tests/nginx-unix-socket.nix b/nixos/tests/nginx-unix-socket.nix index 19d9377868ef..d6949227d3be 100644 --- a/nixos/tests/nginx-unix-socket.nix +++ b/nixos/tests/nginx-unix-socket.nix @@ -1,5 +1,6 @@ { ... }: let + defaultNginxSocketPath = "/var/run/nginx/default-test.sock"; nginxSocketPath = "/var/run/nginx/test.sock"; in { @@ -11,6 +12,13 @@ in { services.nginx = { enable = true; + + defaultListen = [ { addr = "unix:${defaultNginxSocketPath}"; } ]; + virtualHosts.defaultLocalhost = { + serverName = "defaultLocalhost"; + locations."/default".return = "200 'bar'"; + }; + virtualHosts.localhost = { serverName = "localhost"; listen = [ { addr = "unix:${nginxSocketPath}"; } ]; @@ -22,8 +30,10 @@ in testScript = '' webserver.wait_for_unit("nginx") - webserver.wait_for_open_unix_socket("${nginxSocketPath}") + webserver.wait_for_open_unix_socket("${defaultNginxSocketPath}", timeout=1) + webserver.wait_for_open_unix_socket("${nginxSocketPath}", timeout=1) + webserver.succeed("curl --fail --silent --unix-socket '${defaultNginxSocketPath}' http://defaultLocalhost/default | grep '^bar$'") webserver.succeed("curl --fail --silent --unix-socket '${nginxSocketPath}' http://localhost/test | grep '^foo$'") ''; } From 4c02c43a427caaa12ed7d923c3136d69b078675c Mon Sep 17 00:00:00 2001 From: Bert Proesmans Date: Mon, 6 Jan 2025 21:32:21 +0000 Subject: [PATCH 2/2] nixos/nginx: fix mkDefaultListenVhost mapping for unix sockets --- nixos/modules/services/web-servers/nginx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 2ff0c3494e19..bf658564515c 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -339,7 +339,7 @@ let map ( listen: { - port = cfg.defaultSSLListenPort; + port = if (hasPrefix "unix:" listen.addr) then null else cfg.defaultSSLListenPort; ssl = true; } // listen @@ -351,7 +351,7 @@ let map ( listen: { - port = cfg.defaultHTTPListenPort; + port = if (hasPrefix "unix:" listen.addr) then null else cfg.defaultHTTPListenPort; ssl = false; } // listen