summary refs log tree commit diff
path: root/nixos/modules/services/web-servers/nginx
diff options
context:
space:
mode:
authorFelix Richter <github@syntax-fehler.de>2016-12-23 11:49:35 +0100
committerRobin Gloster <mail@glob.in>2016-12-23 11:49:35 +0100
commitd8478c79128cc5220b47ba3fd2f1dccddaa6e31e (patch)
tree85ec5223cbe33f31a3d0eb93b358488503cc466e /nixos/modules/services/web-servers/nginx
parent9f6bd82364da34a1244dc5a246f9243b6daa8144 (diff)
downloadnixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.tar
nixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.tar.gz
nixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.tar.bz2
nixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.tar.lz
nixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.tar.xz
nixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.tar.zst
nixlib-d8478c79128cc5220b47ba3fd2f1dccddaa6e31e.zip
services.nginx: allow startup with ipv6 disabled (#21360)
currently services.nginx does not start up if `networking.enableIPv6 = false`
the commit changes the nginx behavior to handle this case accordingly.
The commit resolves #21308
Diffstat (limited to 'nixos/modules/services/web-servers/nginx')
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 698d37133d74..c1bceb133126 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -10,6 +10,7 @@ let
       sslCertificateKey = "/var/lib/acme/${vhostName}/key.pem";
     })
   ) cfg.virtualHosts;
+  enableIPv6 = config.networking.enableIPv6;
 
   configFile = pkgs.writeText "nginx.conf" ''
     user ${cfg.user} ${cfg.group};
@@ -84,7 +85,7 @@ let
       ${optionalString cfg.statusPage ''
         server {
           listen 80;
-          listen [::]:80;
+          ${optionalString enableIPv6 "listen [::]:80;" }
 
           server_name localhost;
 
@@ -92,7 +93,7 @@ let
             stub_status on;
             access_log off;
             allow 127.0.0.1;
-            allow ::1;
+            ${optionalString enableIPv6 "allow ::1;"}
             deny all;
           }
         }
@@ -133,7 +134,9 @@ let
         ${optionalString vhost.forceSSL ''
           server {
             listen 80 ${optionalString vhost.default "default"};
-            listen [::]:80 ${optionalString vhost.default "default"};
+            ${optionalString enableIPv6
+              ''listen [::]:80 ${optionalString vhost.default "default"};''
+            }
 
             server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
             ${acmeLocation}
@@ -145,7 +148,7 @@ let
 
         server {
           listen ${listenString};
-          listen [::]:${listenString};
+          ${optionalString enableIPv6 "listen [::]:${listenString};"}
 
           server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
           ${acmeLocation}