srv0,webserver: expose port 80 so ACME can verify the certificate

This commit is contained in:
steveej 2021-02-07 17:01:17 +01:00
parent ffc9bb9fec
commit 8bff26c5e8
2 changed files with 29 additions and 4 deletions

View file

@ -1,5 +1,6 @@
{ hostAddress { hostAddress
, localAddress , localAddress
, httpPort ? 80
, httpsPort ? 443 , httpsPort ? 443
}: { }: {
config = { config, pkgs, lib, ... }: { config = { config, pkgs, lib, ... }: {
@ -17,18 +18,35 @@
security.acme = { security.acme = {
acceptTerms = true; acceptTerms = true;
certs."www.stefanjunker.de".email = "mail@stefanjunker.de"; certs."www.stefanjunker.de".email = "mail@stefanjunker.de";
preliminarySelfsigned = true;
# can be used for debugging
# server = "https://acme-staging-v02.api.letsencrypt.org/directory";
}; };
services.nginx.enable = true; services.nginx.enable = true;
services.nginx.virtualHosts."www.stefanjunker.de" = { services.nginx.virtualHosts."www.stefanjunker.de" = {
default = true; default = true;
onlySSL = true; addSSL = true;
listen = [
{
addr = "0.0.0.0";
port = httpPort;
ssl = false;
}
{
addr = "0.0.0.0";
port = httpsPort;
ssl = true;
}
];
root = "/var/www/stefanjunker.de/htdocs"; root = "/var/www/stefanjunker.de/htdocs";
enableACME = true; enableACME = true;
serverAliases = [ # serverAliases = [
"stefanjunker.de" # "www.stefanjunker.de"
]; # ];
# sslCertificate = "/etc/secrets/stefanjunker.de/nginx/nginx.crt"; # sslCertificate = "/etc/secrets/stefanjunker.de/nginx/nginx.crt";
# sslCertificateKey = "/etc/secrets/stefanjunker.de/nginx/nginx.key"; # sslCertificateKey = "/etc/secrets/stefanjunker.de/nginx/nginx.key";
@ -94,6 +112,12 @@
privateNetwork = true; privateNetwork = true;
forwardPorts = [ forwardPorts = [
{
# http
containerPort = 80;
hostPort = httpPort;
protocol = "tcp";
}
{ {
# https # https
containerPort = 443; containerPort = 443;

View file

@ -61,6 +61,7 @@ in {
hostAddress = "192.168.100.12"; hostAddress = "192.168.100.12";
localAddress = "192.168.100.13"; localAddress = "192.168.100.13";
httpPort = 80;
httpsPort = 443; httpsPort = 443;
}; };