NginxProxyManager / NginxProxyManager/nginx-proxy-manager

Custom certificate by path, including autoreload on change

Open
#3,186 6 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
34.2k
Forks
3.9k
Avg merge
21h 12m
Merged PRs (30d)
20

Description

Is your feature request related to a problem? Please describe.

I wanted to use dns challenge for my domains (multiple), because this ways, the certs are created as wildcard and all possible subdomains would be already included. As NPM isn't offering an option to create a multidomain certifiacte, using dns challange, I decided to use acme.sh for this. The (acme.sh) certificate is stored on the same host, where NPM is running. Now, I wanted to add this certificate, using the "SSL Certificates" menu. But then I realized, that custom certs can only be upload and not given by path. And even if I could, there would still be the question, how to reload NPM's nginx, when certificate gets renewed by acme.sh?

Describe the solution you'd like

It would be nice to have the possibilty to add a certificate/key by path and then let NPM, periodically check if the files were changed. If they have changed, NPM would trigger a reload of these certs, in order to make the configured hosts to use the renewd certificate.

Describe alternatives you've considered

I thought about adding the cert/key path, using the advanced host config, if this is even possible. But what would I do, when cert got renewed, by acme.sh? How could I make NPM to reload the host, in order to read in the new certificate?

EDIT:
Found soltion for nginx reload: docker exec npmanager /package/admin/s6/command/s6-svc -h /run/service/nginx.
Still would be nice to have an automatic builtin functionality for this.

Additional context

No.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the SSL Certificates menu and trace how custom certificates are stored and how Nginx reloads are triggered. The issue’s desired behavior is path-based certificate and key configuration, periodic change detection, and reload of affected hosts; the reported manual reload command is docker exec npmanager /package/admin/s6/command/s6-svc -h /run/service/nginx.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, nginx, typescript
Domain
backend, devops, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.