Skip to content

Commit a594520

Browse files
authored
nixos/nginx: fix mkDefaultListenVhost mapping for unix sockets (#371561)
2 parents 32e932d + 4c02c43 commit a594520

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

nixos/modules/services/web-servers/nginx/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ let
339339
map (
340340
listen:
341341
{
342-
port = cfg.defaultSSLListenPort;
342+
port = if (hasPrefix "unix:" listen.addr) then null else cfg.defaultSSLListenPort;
343343
ssl = true;
344344
}
345345
// listen
@@ -351,7 +351,7 @@ let
351351
map (
352352
listen:
353353
{
354-
port = cfg.defaultHTTPListenPort;
354+
port = if (hasPrefix "unix:" listen.addr) then null else cfg.defaultHTTPListenPort;
355355
ssl = false;
356356
}
357357
// listen

nixos/tests/nginx-unix-socket.nix

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{ ... }:
22
let
3+
defaultNginxSocketPath = "/var/run/nginx/default-test.sock";
34
nginxSocketPath = "/var/run/nginx/test.sock";
45
in
56
{
@@ -11,6 +12,13 @@ in
1112
{
1213
services.nginx = {
1314
enable = true;
15+
16+
defaultListen = [ { addr = "unix:${defaultNginxSocketPath}"; } ];
17+
virtualHosts.defaultLocalhost = {
18+
serverName = "defaultLocalhost";
19+
locations."/default".return = "200 'bar'";
20+
};
21+
1422
virtualHosts.localhost = {
1523
serverName = "localhost";
1624
listen = [ { addr = "unix:${nginxSocketPath}"; } ];
@@ -22,8 +30,10 @@ in
2230

2331
testScript = ''
2432
webserver.wait_for_unit("nginx")
25-
webserver.wait_for_open_unix_socket("${nginxSocketPath}")
33+
webserver.wait_for_open_unix_socket("${defaultNginxSocketPath}", timeout=1)
34+
webserver.wait_for_open_unix_socket("${nginxSocketPath}", timeout=1)
2635
36+
webserver.succeed("curl --fail --silent --unix-socket '${defaultNginxSocketPath}' http://defaultLocalhost/default | grep '^bar$'")
2737
webserver.succeed("curl --fail --silent --unix-socket '${nginxSocketPath}' http://localhost/test | grep '^foo$'")
2838
'';
2939
}

0 commit comments

Comments
 (0)