Skip to content

Commit ac17369

Browse files
authored
Merge branch 'internetstandards:main' into main
2 parents c654699 + 57e1495 commit ac17369

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

Changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ docker network rm internetnl-prod_public-internet
4343

4444
- The API version was updated to version 2.5.0.
4545
- The fields `caa_enabled`, `caa_errors`, `caa_recommendations`, `caa_records`, and `caa_found_on_domain` have been added
46-
([OpenAPI diff](https://github.com/internetstandards/Internet.nl/commit/cdc642c97f3ef00b4ef8ec7ff6ea4c5403c80978#diff-ccabca18cd3cc1ba3dd325e532acccf5d37c7be317a2966209b6e55b968d4890)).
46+
([OpenAPI diff](https://github.com/internetstandards/Internet.nl/blob/0dd94d67a6363404cfcf6e2690d6938d09b319b2/interface/batch/openapi.yaml#L738-L760)).
4747
- The API report URL was [updated to use HTTPS](https://github.com/internetstandards/Internet.nl/issues/1704).
4848

4949
## 1.9.3

documentation/Docker-DNS.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ There are several DNS components. First, there are the following three Docker co
66
2. A validating resolver, used to validate DANE records through ldns-dane.
77
3. An authoritative name server for the connection test zone.
88

9-
Besides, an authoritative name server that should be hosted elsewhere, is needed for the DNS records in the zone for `INTERNETNL_DOMAINNAME`.
9+
Besides, an authoritative name server that should be hosted elsewhere, is needed for the DNS records in the zone for `INTERNETNL_DOMAINNAME`.
1010

1111
The resolvers (1 and 2) do not require any specific configuration.
1212
In this document, `INTERNETNL_DOMAINNAME` is `example.com`. Furthermore, example IP addresses are used.
@@ -88,3 +88,37 @@ You can verify DNSSEC using:
8888
- https://dnsviz.net/d/test.a.conn.test-ns-signed.example.com/dnssec/
8989
- https://dnsviz.net/d/test.aaaa.conn.test-ns-signed.example.com/dnssec/
9090

91+
# Advanced CAA configuration
92+
93+
Letsencrypt is used in the `webserver` container to automatically generate TLS certificates. Basic CAA records can be created to ensure only Letsencrypt issues certificates are valid for the `INTERNETNL_DOMAINNAME`:
94+
95+
example.com. CAA 0 issue "letsencrypt.org;"
96+
97+
To provide even stricter configuration the ACME validation method and the account ID registered with Letsencrypt can be specified.
98+
99+
The validation method used is `http-01` and the account ID can be obtailed by running the following command after setup (this might require installing the `jq` tool):
100+
101+
jq -r .uri < /var/lib/docker/volumes/internetnl-prod_certbot-config/_data/accounts/acme-v02.api.letsencrypt.org/directory/*/regr.json
102+
103+
Instead of the CAA record above add this to the zone file:
104+
105+
example.com. CAA 128 issue "letsencrypt.org;validationmethods=http-01;accounturi=https://acme-staging-v02.api.letsencrypt.org/acme/acct/123456"
106+
107+
Also see: https://letsencrypt.org/docs/caa/
108+
109+
## Backing up/restoring/reusing Letsencrypt account
110+
111+
Letsencrypt account ID and private key are stored in a Docker volume for persistence between deploys. If you want to completely redeploy without losing the Letsencrypt account used in de CAA record, or you want to use the same account for multiple installations, you need to make a backup/copy of the following directory:
112+
113+
/var/lib/docker/volumes/internetnl-prod_certbot-config/_data/
114+
115+
When deploying a new instance, first complete the full setup. After that perform the following steps to restore the account:
116+
117+
docker compose --project-name=internetnl-prod stop webserver
118+
rm -rf /var/lib/docker/volumes/internetnl-prod_certbot-config/_data/*
119+
cp -r <location of backed up _data directory> /var/lib/docker/volumes/internetnl-prod_certbot-config/_data/
120+
docker compose --project-name=internetnl-prod start webserver
121+
122+
The certbot instance in the webserver container should start requesting a certificate for the domain after at most 1 minute. You can check the progress using:
123+
124+
docker compose --project-name=internetnl-prod exec webserver cat /var/log/letsencrypt/letsencrypt.log

0 commit comments

Comments
 (0)