mirror of
https://github.com/SuperSandro2000/nixos-modules.git
synced 2024-06-14 03:46:57 +02:00
nginx: add less logs option
This commit is contained in:
parent
675d14e765
commit
b46a07d24b
|
@ -7,6 +7,8 @@ in
|
|||
options.services.nginx = {
|
||||
allRecommended = libS.mkOpinionatedOption "all recommended options";
|
||||
|
||||
keepLessLog = libS.mkOpinionatedOption "keep logs only for 7 days and rotate them daily";
|
||||
|
||||
generateDhparams = libS.mkOpinionatedOption "generate more secure, 2048 bits dhparams replacing the default 1024 bits";
|
||||
|
||||
openFirewall = libS.mkOpinionatedOption "open the firewall port for the http (80) and https (443) default ports";
|
||||
|
@ -17,27 +19,34 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ 80 443 ];
|
||||
|
||||
services.nginx = lib.mkMerge [
|
||||
{
|
||||
resolver.addresses = let
|
||||
isIPv6 = addr: builtins.match ".*:.*:.*" addr != null;
|
||||
escapeIPv6 = addr: if isIPv6 addr then
|
||||
"[${addr}]"
|
||||
else
|
||||
addr;
|
||||
in
|
||||
lib.optionals (cfg.setResolverAddresses && config.networking.nameservers != [ ]) (map escapeIPv6 config.networking.nameservers);
|
||||
sslDhparam = lib.mkIf cfg.generateDhparams config.security.dhparams.params.nginx.path;
|
||||
}
|
||||
services = {
|
||||
logrotate.settings.nginx = lib.mkIf cfg.keepLessLog {
|
||||
frequency = "daily";
|
||||
rotate = 7;
|
||||
};
|
||||
|
||||
(lib.mkIf cfg.allRecommended (libS.modules.mkRecursiveDefault {
|
||||
recommendedBrotliSettings = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
}))
|
||||
];
|
||||
nginx = lib.mkMerge [
|
||||
{
|
||||
resolver.addresses = let
|
||||
isIPv6 = addr: builtins.match ".*:.*:.*" addr != null;
|
||||
escapeIPv6 = addr: if isIPv6 addr then
|
||||
"[${addr}]"
|
||||
else
|
||||
addr;
|
||||
in
|
||||
lib.optionals (cfg.setResolverAddresses && config.networking.nameservers != [ ]) (map escapeIPv6 config.networking.nameservers);
|
||||
sslDhparam = lib.mkIf cfg.generateDhparams config.security.dhparams.params.nginx.path;
|
||||
}
|
||||
|
||||
(lib.mkIf cfg.allRecommended (libS.modules.mkRecursiveDefault {
|
||||
recommendedBrotliSettings = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
}))
|
||||
];
|
||||
};
|
||||
|
||||
security.dhparams = lib.mkIf cfg.generateDhparams {
|
||||
enable = cfg.generateDhparams;
|
||||
|
|
Loading…
Reference in New Issue
Block a user