This has been sloppy for awhile... While I'm at it modularize some of my Nginx configuration. Side note: might be time to decouple the Terraform provisioning stuffs from the NixOS configuration, and this feels *too* tightly coupled. Change-Id: Ida0da5462d938b956571321a67ba1f026fb0a7de Reviewed-on: https://cl.tvl.fyi/c/depot/+/5902 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
# Common configuration for Nginx.
 | 
						|
{ pkgs, ... }:
 | 
						|
 | 
						|
{
 | 
						|
  config = {
 | 
						|
    security.acme = {
 | 
						|
      acceptTerms = true;
 | 
						|
      defaults.email = "wpcarro@gmail.com";
 | 
						|
    };
 | 
						|
 | 
						|
    services.nginx = {
 | 
						|
      enable = true;
 | 
						|
      enableReload = true;
 | 
						|
 | 
						|
      recommendedTlsSettings = true;
 | 
						|
      recommendedGzipSettings = true;
 | 
						|
 | 
						|
      # Log errors to journald (i.e. /dev/log) with debug verbosity.
 | 
						|
      logError = "syslog:server=unix:/dev/log debug";
 | 
						|
 | 
						|
      # for journaldriver
 | 
						|
      commonHttpConfig = ''
 | 
						|
        log_format json_combined escape=json
 | 
						|
        '{'
 | 
						|
            '"remote_addr":"$remote_addr",'
 | 
						|
            '"method":"$request_method",'
 | 
						|
            '"host":"$host",'
 | 
						|
            '"uri":"$request_uri",'
 | 
						|
            '"status":$status,'
 | 
						|
            '"request_size":$request_length,'
 | 
						|
            '"response_size":$body_bytes_sent,'
 | 
						|
            '"response_time":$request_time,'
 | 
						|
            '"referrer":"$http_referer",'
 | 
						|
            '"user_agent":"$http_user_agent"'
 | 
						|
        '}';
 | 
						|
 | 
						|
        access_log syslog:server=unix:/dev/log,nohostname json_combined;
 | 
						|
      '';
 | 
						|
 | 
						|
      appendHttpConfig = ''
 | 
						|
        add_header Permissions-Policy "interest-cohort=()";
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |