1
0
Fork 0
selfhostblocks/modules/nginx.nix
2023-08-09 20:47:10 -07:00

34 lines
965 B
Nix

{ config, pkgs, lib, ... }:
let
cfg = config.shb.nginx;
in
{
options.shb.nginx = {
accessLog = lib.mkOption {
type = lib.types.bool;
description = "Log all requests";
default = false;
example = true;
};
debugLog = lib.mkOption {
type = lib.types.bool;
description = "Verbose debug of internal. This will print what servers were matched and why.";
default = false;
example = true;
};
};
config = {
services.nginx.logError = lib.mkIf cfg.debugLog "stderr warn";
services.nginx.appendHttpConfig = lib.mkIf cfg.accessLog ''
log_format postdata '$remote_addr - $remote_user [$time_local] '
'"$request" <$server_name> $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio" '
'post:"$request_body"';
access_log syslog:server=unix:/dev/log postdata;
'';
};
}