NginxProxyManager / nginx-proxy-manager

Docker container for managing Nginx proxy hosts with a simple, powerful interface
https://nginxproxymanager.com
MIT License
21.99k stars 2.53k forks source link

Bug in ISPConfig DNS Challenge #3884

Open lcx opened 1 month ago

lcx commented 1 month ago

Describe the bug

Using ISPConfig as DNS Challenge for a wildcard Let's Encrypt certificate request fails with

API response with an error: Incorrect datetime value: '' for column `dbispconfig`.`dns_rr`.`stamp` at row 1 INSERT INTO `dns_rr` (`server_id`, `zone`, `name`, `type`, `data`, `ttl`, `active`, `stamp`, `serial`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`) VALUES ('1', '2', '_acme-challenge', 'TXT', 'asdfg', '60', 'Y', '', '0', '1', '1', 'riud', 'riud', '')

The reason for this is that the stamp is a Timestamp field but no value is provided in the API request.

I have reported this with ISPConfig as well and also posted a workaround here

As far as I could debug the API call it sends the _acme-challenge + the key that is added in the text field which makes ISPconfig use the provided default value of '' that lead to the mysql Error.

Versions

Nginx Proxy Manager Version: v2.11.3 ISPConfig: v3.2.12

To Reproduce Steps to reproduce the behavior:

  1. Go to SSL Certificates
  2. Click on Add SSL Certificate
  3. Select Let's encrypt
  4. Select Use DNS Challenge
  5. Pick ISPConfig from the list
  6. Provider ISP Config data
  7. click Save
  8. The mentioned Error appears.

How can I help?

If someone shows me where the ISPConfig thing is in NPM I could try to create a pull request since I have a ISPConfig at my disposition to test with.

lcx commented 1 month ago

ok Seems this is actually coming from certbot-dns-ispconfig and there is already an issue and is suppossedly already fixed but pip install get's the wrong (older) version. Guess this can be closed as I don't see why and how nginx-proxy-manager could fix that.