Follow these steps to get the add-on installed on your system:
- Navigate in your Home Assistant frontend to Settings -> Add-ons -> Add-on store.
- Find the "NGINX Home Assistant SSL proxy" add-on and click it.
- Click on the "INSTALL" button.
The NGINX Proxy add-on is commonly used in conjunction with the Duck DNS and/or the Let's Encrypt add-on to set up secure remote access to your Home Assistant instance. The following instructions covers this scenario.
-
The certificate to your registered domain should already be created via Duck DNS, Let's Encrypt or another method. Make sure that the certificate files exist in the
/ssl
directory. -
You must add the following section to your Home Assistant configuration.yaml. If the
http
section is using thessl_certificate
,ssl_key
orserver_port
keys, make sure to remove them.http: use_x_forwarded_for: true trusted_proxies: - 172.30.33.0/24
-
In the nginx addon configuration, change the
domain
option to the domain name you registered (from DuckDNS or any other domain you control). -
Leave all other options as-is.
-
Save configuration.
-
Start the add-on.
-
Have some patience and wait a couple of minutes.
-
Check the add-on log output to see the result.
Add-on configuration:
domain: home.example.com
certfile: fullchain.pem
keyfile: privkey.pem
hsts: "max-age=31536000; includeSubDomains"
customize:
active: false
default: "nginx_proxy_default*.conf"
servers: "nginx_proxy/*.conf"
cloudflare: false
real_ip_from: []
The server's fully qualified domain name to use for the proxy.
The certificate file to use in the /ssl
directory. Keep filename as-is if you used default settings to create the certificate with the Duck DNS add-on.
Private key file to use in the /ssl
directory.
Value for the Strict-Transport-Security
HTTP header to send. If empty, the header is not sent.
If true, additional NGINX configuration files for the default server and additional servers are read from files in the /share
directory specified by the default
and servers
variables.
The filename of the NGINX configuration for the default server, found in the /share
directory.
The filename(s) of the NGINX configuration for the additional servers, found in the /share
directory.
If enabled, configure Nginx with a list of IP addresses directly from Cloudflare that will be used for set_real_ip_from
directive Nginx config.
This is so the ip_ban_enabled
feature can be used and work correctly in /config/customize.yaml.
If specified, configures Nginx to use Proxy Protocol to get the Real Ip from an upstream load balancer; for more information.
- By default, port 80 is disabled in the add-on configuration in case the port is needed for other components or add-ons like
emulated_hue
.
400 Bad Request
response for requests over this proxy mean you are probably missing thetrusted_proxies
configuration option, see above.
Got questions?
You have several options to get them answered:
- The Home Assistant Discord Chat Server.
- The Home Assistant Community Forum.
- Join the Reddit subreddit in /r/homeassistant
In case you've found a bug, please open an issue on our GitHub.