I am trying to enable HTTPS access to the Home Assistant front-end. I’ve seen various guides that look like they would work for the approach where you register a public domain name (e.g., purchased-domain.net
, or my-domain.duckdns.org
) and use Let’s Encrypt to generate widely-accepted certificates, then use that domain name internally. What I’m trying to do is to use home.arpa as my domain internally.
I have set up Home Assistant (2025.2.0, on HAOS 14.2, on Proxmox) as homeassistant.home.arpa. Local machines are able to resolve that address (I’m running pihole, and redirecting all dns traffic there, so any local device is able to resolve the name).
I set up a step-ca certificate authority so that I can generate certificates for the home.arpa domain for my local machines. I am using the Let’s Encrypt add-on to request/install/renew the certificates, and I configured the front-end webserver to use those certificates (and to serve the front-end on port 443 instead of the default 8123):
# Configure the front-end webserver
http:
# Serve on standard https port instead of 8123
server_port: 443
# These are the ssl certificate locations that the letsencrypt plugin automatically populates
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
This setup allows me to access the front end via HTTPS at https://homeassistant.home.arpa
(once I install my certificate authority’s root certificate on my browser I don’t even get any warnings about the site being untrusted). And many things still work (e.g., Music Assistant can still cast music to devices because that add-on runs its own server on its own port).
But (as I understand it), there is no way to have this HTTPS set up applied to only the front-end — Home Assistant uses the same address and port for integrations. For example, when I use the Default Media Receiver to cast local media to a Google Home device, the device is given the address https://homeassistant.home.arpa/media/local/path/to/song.m4a?authSig=etc
(which fails, because the google device won’t trust the private root certificate authority). The settings for Network->Home Assistant URL->Local network won’t allow a non-HTTPS url (like http://homeassistant.home.arpa
or http://<ip address of home assistant>
) because I “have configured an HTTPS certificate in Home Assistant.”
I can easily imagine that other devices/integrations will be similarly unhappy about my HTTPS certificates in the future, so even if I were able to find some workaround for the Google device, the problem would still be lurking.
Are there any recommended ways to achieve what I want (securing my access to the front-end gui, while leaving the rest of home-assistant’s network configuration as default as possible)?
Using the home.arpa domain name is not a hill I need to die on, but even if the solution turns out to be that I neeed to obtain and use internally a public domain name, I’m still a bit concerned that I might end up with some devices that don’t like HTTPS at all, so the ideal solution would be one that let me separate secure administrative access to the front-end from insecure device access. I have Home Assistant in the same VLAN as my Internet of Things devices, and I don’t want to have to trust that part of my local network enough to just do everything over http.
Any suggestions are appreciated.