mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2026-07-21 20:41:25 +02:00
WIP: base/nginx: host well-known content on multiple subdomains
This commit is contained in:
@@ -1,25 +1,70 @@
|
|||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
services.nginx.virtualHosts = lib.genAttrs [
|
# TODO: move this to base so that all virtualHosts take effect on their respecitve hosts
|
||||||
|
|
||||||
|
# NOTE: automatically hosting well-known files by looping over all existing `virtualHosts`
|
||||||
|
# unfortunately causes infinite recursuion due to submodule usage within the nginx
|
||||||
|
# module. For now, the easiest solution was to manually specify a list of virtualHosts
|
||||||
|
# here, but it would be nice to find a better solution in the future.
|
||||||
|
services.nginx.virtualHosts = lib.mkMerge [
|
||||||
|
(lib.genAttrs [
|
||||||
"pvv.ntnu.no"
|
"pvv.ntnu.no"
|
||||||
"www.pvv.ntnu.no"
|
|
||||||
"pvv.org"
|
"pvv.org"
|
||||||
|
|
||||||
|
"www.pvv.ntnu.no"
|
||||||
|
"www.pvv.org"
|
||||||
|
"www2.pvv.ntnu.no"
|
||||||
|
"www2.pvv.org"
|
||||||
|
|
||||||
|
# NOTE: this list is probably not complete
|
||||||
|
"alps.pvv.ntnu.no"
|
||||||
|
"chat.pvv.ntnu.no"
|
||||||
|
"grafana.pvv.ntnu.no"
|
||||||
|
"status.pvv.ntnu.no"
|
||||||
|
"matrix.pvv.ntnu.no"
|
||||||
|
"mirrors.pvv.ntnu.no"
|
||||||
|
"pages.pvv.ntnu.no"
|
||||||
|
"ooye.pvv.ntnu.no"
|
||||||
|
"ooye.pvv.ntnu.no"
|
||||||
|
"dav.pvv.ntnu.no"
|
||||||
|
"git.pvv.ntnu.no"
|
||||||
|
"idp.pvv.ntnu.no"
|
||||||
|
"minecraft.pvv.ntnu.no"
|
||||||
|
"pw.pvv.ntnu.no"
|
||||||
|
"snappymail.pvv.ntnu.no"
|
||||||
|
"webmail.pvv.ntnu.no"
|
||||||
|
"wiki.pvv.ntnu.no"
|
||||||
|
] (_: {
|
||||||
|
locations."^~ /.well-known/security.txt" = {
|
||||||
|
alias = toString ./root/security.txt;
|
||||||
|
};
|
||||||
|
}))
|
||||||
|
|
||||||
|
(lib.genAttrs [
|
||||||
|
"pvv.ntnu.no"
|
||||||
|
"pvv.org"
|
||||||
|
"mail.pvv.ntnu.no"
|
||||||
|
"mail.pvv.org"
|
||||||
|
"smtp.pvv.ntnu.no"
|
||||||
|
"smtp.pvv.org"
|
||||||
|
] (_: {
|
||||||
|
locations."^~ /.well-known/autoconfig/mail/" = {
|
||||||
|
root = toString ./root/autoconfig/mail;
|
||||||
|
};
|
||||||
|
}))
|
||||||
|
|
||||||
|
(lib.genAttrs [
|
||||||
|
"pvv.ntnu.no"
|
||||||
|
"pvv.org"
|
||||||
|
"www.pvv.ntnu.no"
|
||||||
"www.pvv.org"
|
"www.pvv.org"
|
||||||
] (_: {
|
] (_: {
|
||||||
locations = {
|
locations."^~ /.well-known/matrix/" = {
|
||||||
"^~ /.well-known/" = {
|
|
||||||
alias = (toString ./root) + "/";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Proxy the matrix well-known files
|
|
||||||
# Host has be set before proxy_pass
|
|
||||||
# The header must be set so nginx on the other side routes it to the right place
|
|
||||||
"^~ /.well-known/matrix/" = {
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_set_header Host matrix.pvv.ntnu.no;
|
proxy_set_header Host matrix.pvv.ntnu.no;
|
||||||
proxy_pass https://matrix.pvv.ntnu.no/.well-known/matrix/;
|
proxy_pass https://matrix.pvv.ntnu.no/.well-known/matrix/;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
}))
|
||||||
});
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user