[GH-ISSUE #481] Admin panel served at port 81 with no SSL at all? #406

Closed
opened 2026-02-26 06:32:44 +03:00 by kerem · 6 comments
Owner

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

Hi!

The docs seem to suggest serving the admin panel with no SSL on port 81 and there is no mention of a threat model or security consequences. That seems like a troublesome choice for security, not just for people hosting at home. I have just seen a publicly accessible setup that has the log-in form send username and password unencrypted through the internet. Am I missing something?

Thanks and best, Sebastian

Originally created by @hartwork on GitHub (Jun 27, 2020). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/481 Hi! The docs seem to [suggest serving the admin panel with no SSL on port 81](https://nginxproxymanager.com/setup/#running-the-app) and there is no mention of a threat model or security consequences. That seems like a troublesome choice for security, not just for people hosting at home. I have just seen a publicly accessible setup that has the log-in form send username and password unencrypted through the internet. Am I missing something? Thanks and best, Sebastian
kerem 2026-02-26 06:32:44 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@jc21 commented on GitHub (Jun 27, 2020):

The point of this project is to allow you to create your own SSL encrypted domains for any services, including NPM. So yes you can create your own npm.yourdomain.com pointing to NPM with hostname 127.0.0.1 and port 81. Then if you really want your home-only network to be 120% secure, modify the docker-compose file and remove port 81 from the ports list.

<!-- gh-comment-id:650650705 --> @jc21 commented on GitHub (Jun 27, 2020): The point of this project is to allow you to create your own SSL encrypted domains for any services, including NPM. So yes you can create your own `npm.yourdomain.com` pointing to NPM with hostname `127.0.0.1` and port `81`. Then if you really want your home-only network to be 120% secure, modify the docker-compose file and remove port 81 from the ports list.
Author
Owner

@hartwork commented on GitHub (Jun 28, 2020):

Is it possible to serve the admin panel through SSL and is there documentation on that?
(Readme says "Beautiful and Secure Admin Interface".)

<!-- gh-comment-id:650651900 --> @hartwork commented on GitHub (Jun 28, 2020): Is it possible to serve the admin panel through SSL and is there documentation on that? (Readme says "Beautiful and Secure Admin Interface".)
Author
Owner

@bradyemerson commented on GitHub (Jul 23, 2020):

Based on the configuration options present today, no. You can modify this file https://github.com/jc21/nginx-proxy-manager/blob/master/docker/rootfs/etc/nginx/conf.d/production.conf and create your own docker image with SSL enabled. You'll also need to modify the curl health check to use https and ignore certificate errors.

It is common practice when using Docker reverse proxies that the SSL offloading is done at the nginx layer. In almost all cases that I have seen, the internal communication between docker containers is done via plain transmission so that certificates don't have to be managed individually within each application.

As the maintainer said, the purpose of this application is to create reverse proxies with SSL support. So it makes sense to leverage npm to create an admin reverse proxy for port 81 rather than creating a separate set of configuration options. This way the configuration and SSL management is done in the same interface and with the same patterns as all of your other vhosts.

<!-- gh-comment-id:662777472 --> @bradyemerson commented on GitHub (Jul 23, 2020): Based on the configuration options present today, no. You can modify this file https://github.com/jc21/nginx-proxy-manager/blob/master/docker/rootfs/etc/nginx/conf.d/production.conf and create your own docker image with SSL enabled. You'll also need to modify the curl health check to use https and ignore certificate errors. It is common practice when using Docker reverse proxies that the SSL offloading is done at the nginx layer. In almost all cases that I have seen, the internal communication between docker containers is done via plain transmission so that certificates don't have to be managed individually within each application. As the maintainer said, the purpose of this application is to create reverse proxies with SSL support. So it makes sense to leverage npm to create an admin reverse proxy for port 81 rather than creating a separate set of configuration options. This way the configuration and SSL management is done in the same interface and with the same patterns as all of your other vhosts.
Author
Owner

@Sprbb commented on GitHub (Jul 30, 2020):

How do I create a docker image with SSL enabled ?

<!-- gh-comment-id:666575716 --> @Sprbb commented on GitHub (Jul 30, 2020): How do I create a docker image with SSL enabled ?
Author
Owner

@bradyemerson commented on GitHub (Jul 30, 2020):

I'm not clear on the question. This tool only manages vhosts, not the underlying docker applications. If you're asking how to create a vhost with SSL, it's on the SSL tab in the editor.

<!-- gh-comment-id:666702244 --> @bradyemerson commented on GitHub (Jul 30, 2020): I'm not clear on the question. This tool only manages vhosts, not the underlying docker applications. If you're asking how to create a vhost with SSL, it's on the SSL tab in the editor.
Author
Owner

@chaptergy commented on GitHub (May 12, 2021):

Closing as a duplicate of https://github.com/jc21/nginx-proxy-manager/issues/182

<!-- gh-comment-id:839813894 --> @chaptergy commented on GitHub (May 12, 2021): Closing as a duplicate of https://github.com/jc21/nginx-proxy-manager/issues/182
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#406
No description provided.