Unverified Commit a5945201 authored by Franz Pletz's avatar Franz Pletz Committed by GitHub
Browse files

nixos/nginx: fix mkDefaultListenVhost mapping for unix sockets (#371561)

parents 32e932d1 4c02c43a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+11 −1
Original line number Diff line number Diff line
{ ... }:
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$'")
  '';
}