aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/services/web-servers/nginx/default.nix')
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/default.nix30
1 files changed, 29 insertions, 1 deletions
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index e597f34700a..eb90dae94df 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
@@ -61,7 +61,10 @@ let
${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
http {
- include ${cfg.package}/conf/mime.types;
+ # The mime type definitions included with nginx are very incomplete, so
+ # we use a list of mime types from the mailcap package, which is also
+ # used by most other Linux distributions by default.
+ include ${pkgs.mailcap}/etc/nginx/mime.types;
include ${cfg.package}/conf/fastcgi.conf;
include ${cfg.package}/conf/uwsgi_params;
@@ -119,6 +122,14 @@ let
include ${recommendedProxyConfig};
''}
+ ${optionalString (cfg.mapHashBucketSize != null) ''
+ map_hash_bucket_size ${toString cfg.mapHashBucketSize};
+ ''}
+
+ ${optionalString (cfg.mapHashMaxSize != null) ''
+ map_hash_max_size ${toString cfg.mapHashMaxSize};
+ ''}
+
# $connection_upgrade is used for websocket proxying
map $http_upgrade $connection_upgrade {
default upgrade;
@@ -507,6 +518,23 @@ in
'';
};
+ mapHashBucketSize = mkOption {
+ type = types.nullOr (types.enum [ 32 64 128 ]);
+ default = null;
+ description = ''
+ Sets the bucket size for the map variables hash tables. Default
+ value depends on the processor’s cache line size.
+ '';
+ };
+
+ mapHashMaxSize = mkOption {
+ type = types.nullOr types.ints.positive;
+ default = null;
+ description = ''
+ Sets the maximum size of the map variables hash tables.
+ '';
+ };
+
resolver = mkOption {
type = types.submodule {
options = {