[GH-ISSUE #3022] How to know which npm-1 corresponds to which domain #2064

Closed
opened 2026-02-26 07:33:53 +03:00 by kerem · 8 comments
Owner

Originally created by @roo12312 on GitHub (Jun 27, 2023).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/3022

Hi,
i was checking the letsencrypt folder and instead of domain.name it has npm-1, npm-2 etc. please help me determine which npm corresponds to which domain or change npm names to domain names.

thanks

Originally created by @roo12312 on GitHub (Jun 27, 2023). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/3022 Hi, i was checking the letsencrypt folder and instead of `domain.name` it has `npm-1`, `npm-2` etc. please help me determine which npm corresponds to which domain or change npm names to domain names. thanks
kerem 2026-02-26 07:33:53 +03:00
  • closed this issue
  • added the
    stale
    bug
    labels
Author
Owner

@Fufs commented on GitHub (Jun 28, 2023):

If you need the certificates, you can simply download them from the UI under the SSL tab.

As to doing it manually, I would assume the numbers correspond to conf files in /opt/docker/nginx-proxy-manager/data/nginx/proxy_host/. Just find the file with the correct server param and the number in the filename should correspond to the number after npm-

Another way to check the number is to check the docker logs. Whenever you save a configuration, it logs which configuration has just been saved. You don't actually have to change anything simply go to Proxy Hosts>Your configuration entry>3 dots>Edit and hit save.

Finally, you could probably read the certificates and check the SNI entries.

<!-- gh-comment-id:1610629974 --> @Fufs commented on GitHub (Jun 28, 2023): If you need the certificates, you can simply download them from the UI under the SSL tab. As to doing it manually, I would assume the numbers correspond to conf files in ```/opt/docker/nginx-proxy-manager/data/nginx/proxy_host/```. Just find the file with the correct ```server``` param and the number in the filename should correspond to the number after ```npm-``` Another way to check the number is to check the docker logs. Whenever you save a configuration, it logs which configuration has just been saved. You don't actually have to change anything simply go to Proxy Hosts>Your configuration entry>3 dots>Edit and hit save. Finally, you could probably read the certificates and check the SNI entries.
Author
Owner

@Fufs commented on GitHub (Jun 28, 2023):

Actually, the IDs of certificates are separate from the configs, but you can check the configs to see which certificates each proxy_host is using

<!-- gh-comment-id:1610867044 --> @Fufs commented on GitHub (Jun 28, 2023): Actually, the IDs of certificates are separate from the configs, but you can check the configs to see which certificates each `proxy_host` is using
Author
Owner

@roo12312 commented on GitHub (Jun 28, 2023):

As to doing it manually, I would assume the numbers correspond to conf files in /opt/docker/nginx-proxy-manager/data/nginx/proxy_host/

but why cant the npm directly be domain.name?

<!-- gh-comment-id:1611185887 --> @roo12312 commented on GitHub (Jun 28, 2023): > As to doing it manually, I would assume the numbers correspond to conf files in `/opt/docker/nginx-proxy-manager/data/nginx/proxy_host/` but why cant the `npm` directly be `domain.name`?
Author
Owner

@the1ts commented on GitHub (Jun 29, 2023):

but why cant the npm directly be domain.name?

There are many reasons why not, one reason is because certificates are not always for a single domain name, they could be for www.example.com, example.com, www.nicewebsite.com and nicewebsite.com all within one cert, what would you name that one?

<!-- gh-comment-id:1613171173 --> @the1ts commented on GitHub (Jun 29, 2023): > but why cant the `npm` directly be `domain.name`? There are many reasons why not, one reason is because certificates are not always for a single domain name, they could be for www.example.com, example.com, www.nicewebsite.com and nicewebsite.com all within one cert, what would you name that one?
Author
Owner

@lucidnx commented on GitHub (Jul 16, 2023):

but why cant the npm directly be domain.name?

There are many reasons why not, one reason is because certificates are not always for a single domain name, they could be for www.example.com, example.com, www.nicewebsite.com and nicewebsite.com all within one cert, what would you name that one?

specifiednameexample-1/cert.pem
specifiednameexample-2/cert.pem
maybe?

but there's too much other work to do instead of this....

<!-- gh-comment-id:1636930912 --> @lucidnx commented on GitHub (Jul 16, 2023): > > but why cant the `npm` directly be `domain.name`? > > There are many reasons why not, one reason is because certificates are not always for a single domain name, they could be for [www.example.com](http://www.example.com), example.com, [www.nicewebsite.com](http://www.nicewebsite.com) and nicewebsite.com all within one cert, what would you name that one? specifiednameexample-1/cert.pem specifiednameexample-2/cert.pem maybe? but there's too much other work to do instead of this....
Author
Owner

@the1ts commented on GitHub (Jul 16, 2023):

I understand that there are overly complex ways to fix this but does it respect the Project Goal of simplicity. If you need that information available, you can use openssl to find the domains covered by each and symlink to a name that makes sense to you. Nothing for devs to do and your work is done once since those certs will remain in npm-1. I have used this to use wildcard certs in both npm, exim and dovecot using the same certs.
openssl x509 -in npm-1/cert.pem -noout -text would show the cert domains.
Making this easy just leads to the next complexity, namely, I need different file permissions for this cert for my use case please make that possible (that already is possible via letsencrypt posthook scripts). Taking requirements from a few users like this break that simplicity project goal, especially when a simple one off work around using existing tech can fix.

<!-- gh-comment-id:1637019583 --> @the1ts commented on GitHub (Jul 16, 2023): I understand that there are overly complex ways to fix this but does it respect the Project Goal of simplicity. If you need that information available, you can use openssl to find the domains covered by each and symlink to a name that makes sense to you. Nothing for devs to do and your work is done once since those certs will remain in npm-1. I have used this to use wildcard certs in both npm, exim and dovecot using the same certs. `openssl x509 -in npm-1/cert.pem -noout -text` would show the cert domains. Making this easy just leads to the next complexity, namely, I need different file permissions for this cert for my use case please make that possible (that already is possible via letsencrypt posthook scripts). Taking requirements from a few users like this break that simplicity project goal, especially when a simple one off work around using existing tech can fix.
Author
Owner

@github-actions[bot] commented on GitHub (Jan 15, 2024):

Issue is now considered stale. If you want to keep it open, please comment 👍

<!-- gh-comment-id:1892810637 --> @github-actions[bot] commented on GitHub (Jan 15, 2024): Issue is now considered stale. If you want to keep it open, please comment :+1:
Author
Owner

@github-actions[bot] commented on GitHub (Mar 2, 2025):

Issue was closed due to inactivity.

<!-- gh-comment-id:2692515924 --> @github-actions[bot] commented on GitHub (Mar 2, 2025): Issue was closed due to inactivity.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#2064
No description provided.