]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/immae/production.nix
Add immae.eu website
[perso/Immae/Config/Nix.git] / modules / private / websites / immae / production.nix
index 3b2301a8fd452c93cd89e08d99e84fe1686ab386..3d76b8611c77dd3626bd5aee4fe8c3a2c118b725 100644 (file)
@@ -1,10 +1,10 @@
-{ lib, pkgs, config, myconfig,  ... }:
+{ lib, pkgs, config,  ... }:
 let
   cfg = config.myServices.websites.immae.production;
   varDir = "/var/lib/buildbot/outputs/immaeEu";
   coursDir = "/var/lib/buildbot/outputs/cours";
   rechercheDir = "/var/lib/buildbot/outputs/recherche";
-  env = myconfig.env.websites.immae;
+  env = config.myEnv.websites.immae;
 in {
   options.myServices.websites.immae.production.enable = lib.mkEnableOption "enable Immae's website";
 
@@ -14,12 +14,25 @@ in {
     services.websites.env.production.vhostConfs.immae = {
       certName    = "eldiron";
       addToCerts  = true;
-      hosts       = [ "www.immae.eu" ];
+      hosts       = [ "www.immae.eu" "immae.eu" ];
       root        = varDir;
       extraConfig = [
         ''
         Use Stats www.immae.eu
 
+        <LocationMatch /.well-known/(webfinger|host-meta)>
+          Header always set Referrer-Policy "strict-origin-when-cross-origin"
+          Header always set Strict-Transport-Security "max-age=31536000"
+          RequestHeader set X-Forwarded-Proto "https"
+
+          RewriteRule ^(.*)$ https://mastodon.immae.eu%{REQUEST_URI} [QSA,L]
+        </LocationMatch>
+
+        RewriteEngine On
+        RewriteCond "%{REQUEST_URI}" "!^/.well-known/(webfinger|host-meta)"
+        RewriteCond "%{HTTP_HOST}" "!^www\.immae\.eu$" [NC]
+        RewriteRule ^(.+)$ https://www.immae.eu$1 [R=302,L]
+
         <Directory ${varDir}>
           DirectoryIndex index.htm index.html
           Options Indexes FollowSymLinks MultiViews Includes
@@ -46,6 +59,16 @@ in {
       ];
     };
 
+    services.websites.env.production.vhostConfs.immaeFr = {
+      certName    = "eldiron";
+      addToCerts  = true;
+      hosts       = [ "www.immae.fr" "immae.fr" ];
+      root        = null;
+      extraConfig = [ ''
+        RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://www.immae.eu/chapeaux/
+        '' ];
+    };
+
     services.websites.env.production.vhostConfs.bouya = {
       certName    = "eldiron";
       addToCerts  = true;