Skip to content

Commit ace63dd

Browse files
committed
fix(dns): move ECH block to unbound.conf.template; remove generated conf
The workflow uses envsubst on unbound.conf.template to produce unbound.conf. Committing unbound.conf directly bypassed templating and broke the deploy. - Add local-zone ECH blocking entries to unbound.conf.template (correct file) - Remove unbound.conf from git tracking (generated artifact, workflow-owned) - Add unbound/unbound.conf to .gitignore - Substitute hardcoded IPs with ${IP_PIHOLE}/${IP_BLACKBOX} template vars
1 parent 2a8e59e commit ace63dd

3 files changed

Lines changed: 12 additions & 88 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.DS_Store
22
.env
3+
docker/unbound/unbound.conf

docker/unbound/unbound.conf

Lines changed: 0 additions & 88 deletions
This file was deleted.

docker/unbound/unbound.conf.template

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,14 @@ server:
8080
control-enable: yes
8181
control-interface: 127.0.0.1
8282
control-port: 8953
83+
84+
# Block HTTPS (TYPE65/ECH) records for local domains.
85+
# Cloudflare publishes HTTPS records with ECH params for proxied domains. When
86+
# PiHole returns local IPs for these domains, Chrome/Safari try to use those
87+
# Cloudflare ECH params against the local server, causing ERR_SSL_PROTOCOL_ERROR.
88+
# A 'static' zone returns NXDOMAIN for any RR type not explicitly defined via
89+
# local-data. Since we define no local-data here, all TYPE65 queries get NXDOMAIN.
90+
# A record lookups for these domains are handled upstream by PiHole (address=
91+
# directives) and never reach Unbound, so this does not affect normal resolution.
92+
local-zone: "geeksbsmrt.com." static
93+
local-zone: "smrtgeekdevs.com." static

0 commit comments

Comments
 (0)