33 lines
768 B
Nix
33 lines
768 B
Nix
{ lib, pkgs, sources, ... }:
|
|
|
|
let
|
|
metis = import sources.metis { inherit pkgs; };
|
|
package = metis.production;
|
|
inherit (metis) providers;
|
|
|
|
|
|
|
|
in {
|
|
services.nginx.virtualHosts."calendrier.dgnum.eu" = {
|
|
serverAliases = [
|
|
"calendrier.eleves.ens.fr"
|
|
];
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
root = package;
|
|
|
|
locations = lib.mapAttrs' (name: value:
|
|
lib.nameValuePair "/cal/${name}/" {
|
|
extraConfig = ''
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Server $host;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_pass ${value};
|
|
'';
|
|
}) providers;
|
|
|
|
extraConfig = ''
|
|
rewrite ^/calendrier(.*)$ $1 permanent;
|
|
'';
|
|
};
|
|
}
|