···169169170170For public user handles you also need a matching wildcard-capable site or on-demand TLS path for `*.pds.example.com`.
171171172172+One practical Caddy pattern is on-demand TLS restricted to domains that `perlsky` approves:
173173+174174+```caddy
175175+{
176176+ on_demand_tls {
177177+ ask http://127.0.0.1:7755/_allow-cert
178178+ }
179179+}
180180+181181+pds.example.com {
182182+ encode gzip
183183+ reverse_proxy 127.0.0.1:7755
184184+}
185185+186186+https:// {
187187+ tls {
188188+ on_demand
189189+ }
190190+191191+ @perlsky_handles host *.pds.example.com
192192+ handle @perlsky_handles {
193193+ encode gzip
194194+ reverse_proxy 127.0.0.1:7755
195195+ }
196196+}
197197+```
198198+199199+This still requires wildcard DNS or per-handle DNS records so public ACME validation can reach the server.
200200+172201A minimal nginx site looks like:
173202174203```nginx