summary refs log tree commit diff
path: root/nixos/modules/services/web-servers
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2017-03-20 19:03:20 +0100
committerGitHub <noreply@github.com>2017-03-20 19:03:20 +0100
commitfff8cc79df5aa26e935f8ee30c06ef79368ad5dc (patch)
treee5abfe69d176421d8b6758f8e9719cf70e04765e /nixos/modules/services/web-servers
parent659ea1e24a9807c4fdfc2c307e740e0de7481b91 (diff)
parent251b9ca0e77963c48d9c198cec964f7a1cd91d4a (diff)
downloadnixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.tar
nixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.tar.gz
nixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.tar.bz2
nixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.tar.lz
nixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.tar.xz
nixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.tar.zst
nixlib-fff8cc79df5aa26e935f8ee30c06ef79368ad5dc.zip
Merge pull request #23279 from mbbx6spp/make-nginx-module-less-gross
nginx service: add commonHttpConfig option
Diffstat (limited to 'nixos/modules/services/web-servers')
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 6bc7192963d1..548467ae7856 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -87,6 +87,8 @@ let
 
       server_tokens ${if cfg.serverTokens then "on" else "off"};
 
+      ${cfg.commonHttpConfig}
+
       ${vhosts}
 
       ${optionalString cfg.statusPage ''
@@ -275,6 +277,24 @@ in
         '';
       };
 
+      commonHttpConfig = mkOption {
+        type = types.lines;
+        default = "";
+        example = ''
+          resolver 127.0.0.1 valid=5s;
+
+          log_format myformat '$remote_addr - $remote_user [$time_local] '
+                              '"$request" $status $body_bytes_sent '
+                              '"$http_referer" "$http_user_agent"';
+        '';
+        description = ''
+          With nginx you must provide common http context definitions before
+          they are used, e.g. log_format, resolver, etc. inside of server
+          or location contexts. Use this attribute to set these definitions
+          at the appropriate location.
+        '';
+      };
+
       httpConfig = mkOption {
         type = types.lines;
         default = "";