Normally, a DNS record covers one specific name. A wildcard record covers all names at a given level that don't have their own explicit record. The syntax is a bare asterisk: *.

What a wildcard record looks like

Type:    A\nName:    *\nContent: 203.0.113.42

With this record in place, anything.localnode.app, foo.localnode.app, and bar.localnode.app all resolve to 203.0.113.42. Whatever is running at that IP receives the full hostname in the HTTP Host header and can route traffic accordingly.

Useful with a reverse proxy at home

If you run a reverse proxy like Nginx, Caddy, or Traefik on your home server, a wildcard record pairs with it nicely. Add a new service, add a rule to the proxy, and the subdomain just works - no round-trip to localnode.app to create a new DNS record every time. One wildcard covers everything your proxy handles.

Trying out new self-hosted apps

Spinning up a new self-hosted app to see if you like it? With a wildcard in place you can give it a temporary subdomain immediately - test.localnode.app, new.localnode.app, whatever - without any DNS changes. If you keep the app, you can always create a proper dedicated record later. If you ditch it, nothing to clean up.

The catch

Wildcard records don't match multiple levels. *.localnode.app matches foo.localnode.app but not foo.bar.localnode.app. You'd need a second wildcard at the next level for that. Also, explicit records always take priority over wildcards - so a subdomain with its own A record is completely unaffected by any wildcard you set.