diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2022-07-10 12:19:09 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2022-07-10 12:19:09 +0200 |
commit | bd0de692664cd608bedac7dc2bd7b113df82989c (patch) | |
tree | 9b1c8835d4d0a0d46e9f44f5e853453be69e56ae /hosts/surtr/email | |
parent | ffac1727b92167ca6847b7ae3adc71f091d8048f (diff) | |
download | nixos-bd0de692664cd608bedac7dc2bd7b113df82989c.tar nixos-bd0de692664cd608bedac7dc2bd7b113df82989c.tar.gz nixos-bd0de692664cd608bedac7dc2bd7b113df82989c.tar.bz2 nixos-bd0de692664cd608bedac7dc2bd7b113df82989c.tar.xz nixos-bd0de692664cd608bedac7dc2bd7b113df82989c.zip |
surtr: mta-sts & dane
Diffstat (limited to 'hosts/surtr/email')
-rw-r--r-- | hosts/surtr/email/default.nix | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/hosts/surtr/email/default.nix b/hosts/surtr/email/default.nix index e3437a6b..357ee668 100644 --- a/hosts/surtr/email/default.nix +++ b/hosts/surtr/email/default.nix | |||
@@ -640,15 +640,35 @@ in { | |||
640 | }; | 640 | }; |
641 | }) spmDomains) // { | 641 | }) spmDomains) // { |
642 | "mta-sts.bouncy.email" = { | 642 | "mta-sts.bouncy.email" = { |
643 | locations."/".root = pkgs.runCommand "mta-sts" {} '' | 643 | forceSSL = true; |
644 | mkdir -p $out/.well-known | 644 | sslCertificate = "/run/credentials/nginx.service/mta-sts.bouncy.email.pem"; |
645 | cp ${pkgs.writeText "mta-sts.txt" '' | 645 | sslCertificateKey = "/run/credentials/nginx.service/mta-sts.bouncy.email.key.pem"; |
646 | version: STSv1 | 646 | sslTrustedCertificate = "/run/credentials/nginx.service/mta-sts.bouncy.email.chain.pem"; |
647 | mode: testing | 647 | |
648 | mx: mailin.bouncy.email | 648 | extraConfig = '' |
649 | max_age: 604800 | 649 | add_header Strict-Transport-Security "max-age=63072000" always; |
650 | ''} $out/.well-known/mta-sts.txt | 650 | |
651 | add_header Access-Control-Allow-Origin '*'; | ||
652 | add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS'; | ||
653 | add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type, Authorization'; | ||
654 | add_header Access-Control-Max-Age 7200; | ||
651 | ''; | 655 | ''; |
656 | |||
657 | locations."/" = { | ||
658 | extraConfig = '' | ||
659 | charset utf-8; | ||
660 | source_charset utf-8; | ||
661 | ''; | ||
662 | root = pkgs.runCommand "mta-sts" {} '' | ||
663 | mkdir -p $out/.well-known | ||
664 | cp ${pkgs.writeText "mta-sts.txt" '' | ||
665 | version: STSv1 | ||
666 | mode: testing | ||
667 | mx: mailin.bouncy.email | ||
668 | max_age: 604800 | ||
669 | ''} $out/.well-known/mta-sts.txt | ||
670 | ''; | ||
671 | }; | ||
652 | }; | 672 | }; |
653 | }; | 673 | }; |
654 | }; | 674 | }; |
@@ -659,6 +679,7 @@ in { | |||
659 | ]) spmDomains ++ [ | 679 | ]) spmDomains ++ [ |
660 | "mta-sts.bouncy.email.key.pem:${config.security.acme.certs."mta-sts.bouncy.email".directory}/key.pem" | 680 | "mta-sts.bouncy.email.key.pem:${config.security.acme.certs."mta-sts.bouncy.email".directory}/key.pem" |
661 | "mta-sts.bouncy.email.pem:${config.security.acme.certs."mta-sts.bouncy.email".directory}/fullchain.pem" | 681 | "mta-sts.bouncy.email.pem:${config.security.acme.certs."mta-sts.bouncy.email".directory}/fullchain.pem" |
682 | "mta-sts.bouncy.email.chain.pem:${config.security.acme.certs."mta-sts.bouncy.email".directory}/chain.pem" | ||
662 | ]; | 683 | ]; |
663 | 684 | ||
664 | systemd.services.spm = { | 685 | systemd.services.spm = { |