X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fimmae%2Fproduction.nix;h=ff9cf9df3910f5558d450f3f95ce0baf84ea0f60;hb=57a421133a011d99d4fbfc5342686a68a890f573;hp=12d6ddb413eb8d61b4fb869dfc8b4f0b26e16159;hpb=ab8f306d7c2c49b8116e1af7b355ed2384617ed9;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/immae/production.nix b/modules/private/websites/immae/production.nix index 12d6ddb..ff9cf9d 100644 --- a/modules/private/websites/immae/production.nix +++ b/modules/private/websites/immae/production.nix @@ -1,9 +1,11 @@ { 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"; + varDir = "/var/lib/buildbot/outputs/immae/blog"; + coursDir = "/var/lib/buildbot/outputs/immae/cours"; + rechercheDir = "/var/lib/buildbot/outputs/immae/recherche"; + recettesDir = "/var/lib/buildbot/outputs/immae/recettes"; + historyDir = "/var/lib/buildbot/outputs/immae/history"; env = config.myEnv.websites.immae; in { options.myServices.websites.immae.production.enable = lib.mkEnableOption "enable Immae's website"; @@ -11,14 +13,28 @@ in { config = lib.mkIf cfg.enable { services.webstats.sites = [ { name = "www.immae.eu"; } ]; - services.websites.env.production.vhostConfs.immae = { - certName = "eldiron"; - addToCerts = true; - hosts = [ "www.immae.eu" ]; - root = varDir; - extraConfig = [ + services.websites.env.production.vhostConfs.immae_production = { + certName = "immae"; + addToCerts = true; + certMainHost = "www.immae.eu"; + hosts = [ "www.immae.eu" "immae.eu" ]; + root = varDir; + extraConfig = [ '' Use Stats www.immae.eu + Header always set Strict-Transport-Security "max-age=31536000" + + + Header always set Referrer-Policy "strict-origin-when-cross-origin" + RequestHeader set X-Forwarded-Proto "https" + + RewriteRule ^(.*)$ https://mastodon.immae.eu%{REQUEST_URI} [QSA,L] + + + 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] DirectoryIndex index.htm index.html @@ -27,6 +43,21 @@ in { Require all granted + Alias /.well-known/chatonsinfos ${./chatons} + + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride None + Require all granted + + + Alias /.well-known/matrix ${./matrix} + + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride None + Require all granted + Header always set Access-Control-Allow-Origin "*" + + Alias /cours ${coursDir} DirectoryIndex index.htm index.html @@ -35,6 +66,14 @@ in { Require all granted + Alias /eurl ${./eurl} + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride None + Require all granted + + Alias /recherche ${rechercheDir} DirectoryIndex index.htm index.html @@ -42,17 +81,47 @@ in { AllowOverride All Require all granted + + Alias /recettes ${recettesDir} + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride All + Require all granted + + + Alias /history ${historyDir} + + DirectoryIndex index.html + AllowOverride None + Require all granted + '' ]; }; - services.websites.env.production.vhostConfs.bouya = { - certName = "eldiron"; + services.websites.env.production.vhostConfs.immae_fr = { + certName = "immae"; addToCerts = true; - hosts = [ "bouya.org" "www.bouya.org" ]; + hosts = [ "www.immae.fr" "immae.fr" ]; root = null; extraConfig = [ '' - RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://www.normalesup.org/~bouya/ + RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://www.immae.eu/chapeaux/ + '' ]; + }; + + services.websites.env.production.vhostConfs.immae_bouya = { + certName = "immae"; + addToCerts = true; + hosts = [ "bouya.org" "www.bouya.org" ]; + root = rechercheDir; + extraConfig = [ '' + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride All + Require all granted + '' ]; }; };