[GH-ISSUE #237] Custom SSL certificates not working correctly #208

Closed
opened 2026-02-26 06:31:31 +03:00 by kerem · 5 comments
Owner

Originally created by @xorinzor on GitHub (Nov 11, 2019).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/237

Adding letsencrypts certificates works great, but custom certificates is having quite a few issues.

  1. only RSA seems to be supported, trying to add a certificate from cloudflare using the ECDSA algorithm throws an error when you try to add it, as it fails to validate the certificate. (The error can also be only viewed via the console, it's not getting returned anywhere within the web interface)

  2. Just a visual glitch, but still confusing if you are unaware: the fields where you select a file will stay empty when a file is selected. This is just visual, because if you selected the proper key and certificate it will allow you to add the certificate.

  3. It doesn't seem to recognize the comma as a delimiter properly when entering the domain names.

And now where things really seem to go wrong:
Selecting the custom SSL certificate for a domain will return an internal server error, which will break that specific proxy host in the web interface until you manually fix it.

The reason for this is that it configures the path where it expects the certificate to be to "/etc/letsencrypt/live/" inside the "proxy_host/<id>.conf".

Which would work fine if it actually was a letsencrypt certificate, but our custom ssl is in a completely different location, that doesn't appear to be symlinked anywhere inside the docker container, and can only be accessed via the mount "/config" (if this has not been changed from it's default value for whatever reason, by the user).

As a result, any changes you attempt to make via the web interface fail as it will try to check the path of the certificate (or something similar, I can see something happening in the logs, but didn't dive too deep into it) and spit out an error.

Originally created by @xorinzor on GitHub (Nov 11, 2019). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/237 Adding letsencrypts certificates works great, but custom certificates is having quite a few issues. 1. only RSA seems to be supported, trying to add a certificate from cloudflare using the ECDSA algorithm throws an error when you try to add it, as it fails to validate the certificate. (The error can also be only viewed via the console, it's not getting returned anywhere within the web interface) 2. Just a visual glitch, but still confusing if you are unaware: the fields where you select a file will stay empty when a file is selected. This is just visual, because if you selected the proper key and certificate it will allow you to add the certificate. 3. It doesn't seem to recognize the comma as a delimiter properly when entering the domain names. And now where things really seem to go wrong: Selecting the custom SSL certificate for a domain will return an internal server error, which will break that specific proxy host in the web interface until you manually fix it. The reason for this is that it configures the path where it expects the certificate to be to `"/etc/letsencrypt/live/"` inside the `"proxy_host/<id>.conf"`. Which would work fine if it actually was a letsencrypt certificate, but our custom ssl is in a completely different location, that doesn't appear to be symlinked anywhere inside the docker container, and can only be accessed via the mount `"/config"` (if this has not been changed from it's default value for whatever reason, by the user). As a result, any changes you attempt to make via the web interface fail as it will try to check the path of the certificate (or something similar, I can see something happening in the logs, but didn't dive too deep into it) and spit out an error.
kerem closed this issue 2026-02-26 06:31:31 +03:00
Author
Owner

@mfjonesy commented on GitHub (Nov 12, 2019):

I can confirm issue #2. I was going crazy trying to figure out why it wasn't letting me select the files. Good thing I saw this! However once I added the custom SSL cert from cloudflare I was able to select it for my nextcloud proxy host with no issues.

<!-- gh-comment-id:553041655 --> @mfjonesy commented on GitHub (Nov 12, 2019): I can confirm issue #2. I was going crazy trying to figure out why it wasn't letting me select the files. Good thing I saw this! However once I added the custom SSL cert from cloudflare I was able to select it for my nextcloud proxy host with no issues.
Author
Owner

@MatthiasMT commented on GitHub (Nov 13, 2019):

First of all, amazing software done by the creator of this project!

Second i can also confirm this with some longs on whats happening.

image

Ill try to see if i can get it working without the GUI but that could take a while!

<!-- gh-comment-id:553598881 --> @MatthiasMT commented on GitHub (Nov 13, 2019): First of all, amazing software done by the creator of this project! Second i can also confirm this with some longs on whats happening. ![image](https://user-images.githubusercontent.com/13175677/68803627-689d7c80-0660-11ea-9edc-708718040282.png) Ill try to see if i can get it working without the GUI but that could take a while!
Author
Owner

@xorinzor commented on GitHub (Nov 13, 2019):

Ill try to see if i can get it working without the GUI but that could take a while!

Manually editing the proxy_host/"number".conf file and changing the ssl lines to the correct path did the trick for me. You just cannot use the GUI to manage this proxy_host until the issue is fixed.

(Keep in mind you need to change the path to where the certificate files are located inside the docker container, not the path where it's stored on the host)

<!-- gh-comment-id:553599868 --> @xorinzor commented on GitHub (Nov 13, 2019): > Ill try to see if i can get it working without the GUI but that could take a while! Manually editing the proxy_host/"number".conf file and changing the ssl lines to the correct path did the trick for me. You just cannot use the GUI to manage this proxy_host until the issue is fixed. (Keep in mind you need to change the path to where the certificate files are located inside the docker container, not the path where it's stored on the host)
Author
Owner

@MatthiasMT commented on GitHub (Nov 13, 2019):

Ill try to see if i can get it working without the GUI but that could take a while!

Manually editing the proxy_host/"number".conf file and changing the ssl lines to the correct path did the trick for me. You just cannot use the GUI to manage this proxy_host until the issue is fixed.

(Keep in mind you need to change the path to where the certificate files are located inside the docker container, not the path where it's stored on the host)

Ahh good to know its possible and i dont have to store anything in the database?

Ill take a look tomorrow and see what i can get working, thanks xorinzor

<!-- gh-comment-id:553604130 --> @MatthiasMT commented on GitHub (Nov 13, 2019): > > Ill try to see if i can get it working without the GUI but that could take a while! > > Manually editing the proxy_host/"number".conf file and changing the ssl lines to the correct path did the trick for me. You just cannot use the GUI to manage this proxy_host until the issue is fixed. > > (Keep in mind you need to change the path to where the certificate files are located inside the docker container, not the path where it's stored on the host) Ahh good to know its possible and i dont have to store anything in the database? Ill take a look tomorrow and see what i can get working, thanks xorinzor
Author
Owner

@xorinzor commented on GitHub (Nov 13, 2019):

Ahh good to know its possible and i dont have to store anything in the database?

I wasn't aware that a database was being used, despite that, just manually editing the config file did the trick for me. Maybe if you edit the entry in the database it could fix some other issues, but that's just pure speculation as I have no idea what's being stored in the database.

<!-- gh-comment-id:553605454 --> @xorinzor commented on GitHub (Nov 13, 2019): > Ahh good to know its possible and i dont have to store anything in the database? I wasn't aware that a database was being used, despite that, just manually editing the config file did the trick for me. Maybe if you edit the entry in the database it could fix some other issues, but that's just pure speculation as I have no idea what's being stored in the database.
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#208
No description provided.