Nginx 404: not found

Hi,

I want to add my tesla to HA, and therefore have to expose some .pem files. After setting up the parameters in the customize section of Nginx, adding the .conf file in my /share folder and . pem file in the /share/tesla/.well-known/appspecific/ dir, I get a “404: not found” when I browse to the page. (Also if I try on my phone, disabling wifi)
Although I don’t have anny expertise in the matter, it seems to me that the .conf file is not being detected, as I do not see it being added in the log file:

s6-rc: info: service s6rc-oneshot-runner: starting

s6-rc: info: service s6rc-oneshot-runner successfully started

s6-rc: info: service fix-attrs: starting

s6-rc: info: service fix-attrs successfully started

s6-rc: info: service legacy-cont-init: starting

s6-rc: info: service legacy-cont-init successfully started

s6-rc: info: service nginx: starting

s6-rc: info: service nginx successfully started

s6-rc: info: service crond: starting

s6-rc: info: service crond successfully started

s6-rc: info: service legacy-services: starting

s6-rc: info: service legacy-services successfully started

[14:27:15] INFO: Merging options & variables for template

[14:27:15] INFO: Generating nginx.conf from template in /etc/nginx/nginx.conf.gtpl

[14:27:15] INFO: Running nginx...

My HA was allready using a duckdns setup, which works fine, the Nginx addon is new though.

Here’s my Nginx configuration: (I offcoarse redacted my domain a bit)

domain: <HA_name_without_preceding_http(s)>-homeassistant.duckdns.org
hsts: max-age=31536000; includeSubDomains
certfile: fullchain.pem
keyfile: privkey.pem
cloudflare: false
customize:
  active: true
  default: nginx_proxy_default*.conf
  servers: nginx_proxy/*.conf
real_ip_from: []

And here is the current content off nginx_proxy_default_tesla.conf (although this has gone trough multiple versions allready)

location ^~ /.well-known/appspecific/ {
  alias /share/tesla/.well-known/appspecific/;
  default_type application/x-pem-file;
}

Annyone anny idea what I’m doing wrong?

Dave

Have been trying to figure this out, but to no avail.

  • Switched to NGINX Proxy Manager. Same issue there
  • Seems that I didn’t have my setup correct and still let everything trough on port 8123. Now that’s fixed. Still the same issue.
  • With that fixed, I dropped the port forwarding for 8123 in both my router and deco. Still the same issue
  • Tried putting the following in the configuration:
location = /npm-test {
  return 200 "NPM advanced config is active\n";
  default_type text/plain;
}

However after that also a 404 on https:///npm-test (instead off the expected 200.

  • I’ve got a DNS server running. But even when I temporarily stopped that, still no results.

So now I’ve noticed that I have an error in the log, although what I can gather it shouldn’t be an issue, but just mentioning just in case:


s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
-----------------------------------------------------------
 Add-on: Nginx Proxy Manager
 Manage Nginx proxy hosts with a simple, powerful interface
-----------------------------------------------------------
 Add-on version: 2.1.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 17.0  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2026.2.0
 Home Assistant Supervisor: 2026.01.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-npm: starting
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-npm successfully started
s6-rc: info: service npm: starting
s6-rc: info: service npm successfully started
s6-rc: info: service init-nginx successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
[14:10:35] INFO: Starting the Manager...
s6-rc: info: service legacy-services successfully started
[14:10:35] INFO: Starting NGinx...
[2/6/2026] [2:10:36 PM] [Global   ] › ℹ  info      Using Sqlite: /config/database.sqlite
[2/6/2026] [2:10:40 PM] [Migrate  ] › ℹ  info      Current database version: none
[2/6/2026] [2:10:40 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[2/6/2026] [2:10:40 PM] [Global   ] › ⬤  debug     CMD: logrotate /etc/logrotate.d/nginx-proxy-manager
[2/6/2026] [2:10:40 PM] [Setup    ] › ⚠  warning   CommandError: error: /etc/logrotate.d/nginx-proxy-manager:2 unknown user 'npm' 
error: found error in /data/logs/*_access.log /data/logs/*/access.log , skipping
error: /etc/logrotate.d/nginx-proxy-manager:16 unknown user 'npm'
error: found error in /data/logs/*_error.log /data/logs/*/error.log , skipping
    at /opt/nginx-proxy-manager/lib/utils.js:16:13
    at ChildProcess.exithandler (node:child_process:421:5)
    at ChildProcess.emit (node:events:518:28)
    at maybeClose (node:internal/child_process:1101:16)
    at Socket.<anonymous> (node:internal/child_process:456:11)
    at Socket.emit (node:events:518:28)
    at Pipe.<anonymous> (node:net:351:12)
[2/6/2026] [2:10:41 PM] [Global   ] › ℹ  info      IP Ranges fetch is enabled
[2/6/2026] [2:10:41 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[2/6/2026] [2:10:41 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[2/6/2026] [2:10:41 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[2/6/2026] [2:10:41 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[2/6/2026] [2:10:42 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[2/6/2026] [2:10:42 PM] [SSL      ] › ℹ  info      Renewing SSL certs expiring within 30 days ...
[2/6/2026] [2:10:42 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[2/6/2026] [2:10:42 PM] [Global   ] › ℹ  info      Backend PID 167 listening on port 3000 ...
[2/6/2026] [2:10:42 PM] [SSL      ] › ℹ  info      Completed SSL cert renew process

Annyone anny ideas what else to check?