[GH-ISSUE #1523] DNS-01 Let's Encrypt request issue #5274

Closed
opened 2026-03-01 15:40:53 +03:00 by kerem · 2 comments
Owner

Originally created by @astrdev on GitHub (Jan 14, 2026).
Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1523

Describe the bug
Here, I want to create a Let's Encrypt cert for "mydomain.ch" and "*.mydomain.ch" (while "mydomain.ch" being just a placeholder). I purchased "mydomain.ch" at Infomaniak. So for that DNS provider, I created the DNS credentials for the Infomaniak provider with a correct access token.
And then, when I want to issue a certificate from the Certificates List, putting the two domain above, nginx-ui cannot create the cert.

But, for example, while I'm using Nginx Proxy Manager (because I used that before testing nginx-ui), it can create that cert while providing the same domains above.

To Reproduce
Steps to reproduce the behavior:

  1. Simply issue a Let's Encrypt cert for "mydomain.ch" and "*.mydomain.ch" in "Home > Certificates > Certificates List"

Expected behavior
Successfully create the Let's Encrypt cert for the above domains.

Screenshots

  1. The "Issue Certificate" creation box:
    Image

  2. Full trace logs while doing it (redacted some info):

nginx-ui  | 2026/01/14 20:35:27 github.com/0xJacky/Nginx-UI/model/cert.go:68
nginx-ui  | [0.157ms] [rows:0] SELECT * FROM `certs` WHERE (`certs`.`name` = "mydomain.ch" AND `certs`.`filename` = "mydomain.ch" AND `certs`.`key_type` = "P384") AND `certs`.`deleted_at` IS NULL ORDER BY `certs`.`id` LIMIT 1
nginx-ui  | 2026-01-14 20:35:27.101     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] Preparing lego configurations
nginx-ui  |
nginx-ui  | 2026/01/14 20:35:27 github.com/0xJacky/Nginx-UI/internal/cert/payload.go:43
nginx-ui  | [0.089ms] [rows:1] SELECT * FROM `acme_users` WHERE `acme_users`.`id` = 7 AND `acme_users`.`deleted_at` IS NULL ORDER BY `acme_users`.`id` LIMIT 1
nginx-ui  | 2026-01-14 20:35:27.101     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] ACME User: System Initial User, Email: REDACTED@REDACTED.com, CA Dir: https://acme-v02.api.letsencrypt.org/directory
nginx-ui  | 2026-01-14 20:35:27.101     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] Creating client facilitates communication with the CA server
nginx-ui  |
nginx-ui  | 2026/01/14 20:35:27 github.com/0xJacky/Nginx-UI/internal/cert/issue.go:111
nginx-ui  | [0.158ms] [rows:1] SELECT * FROM `dns_credentials` WHERE id=1  AND `dns_credentials`.`deleted_at` IS NULL LIMIT 1
nginx-ui  | 2026-01-14 20:35:27.647     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] Setting DNS01 challenge provider
nginx-ui  | 2026-01-14 20:35:27.647     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] Setting environment variables
nginx-ui  | 2026-01-14 20:35:27.647     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] Obtaining certificate
nginx-ui  | 2026-01-14 20:35:27.647     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:27 [INFO] [mydomain.ch, *.mydomain.ch] acme: Obtaining bundled SAN certificate
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [*.mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: use dns-01 solver
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: tls-alpn-01
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: http-01
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: use dns-01 solver
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.121     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: Preparing to solve DNS-01
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:29.122     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:29 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local."
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:39.346     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:39 [INFO] domain "proxy.on.local" not found, trying with "on.local"
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:39.439     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:39 [INFO] domain "on.local" not found, trying with "local"
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:39.439     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:39 [INFO] [mydomain.ch] acme: Preparing to solve DNS-01
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:39.440     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:39 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local."
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:49.584     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:49 [INFO] domain "proxy.on.local" not found, trying with "on.local"
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:49.685     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:49 [INFO] domain "on.local" not found, trying with "local"
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:49.685     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:49 [INFO] [*.mydomain.ch] acme: Cleaning DNS-01 challenge
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:49.685     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:49 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local."
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:59.686     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:59 [WARN] [*.mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.'
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:59.686     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:59 [INFO] [mydomain.ch] acme: Cleaning DNS-01 challenge
nginx-ui  |
nginx-ui  | 2026-01-14 20:35:59.687     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:35:59 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local."
nginx-ui  |
nginx-ui  | 2026-01-14 20:36:09.687     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:36:09 [WARN] [mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.'
nginx-ui  |
nginx-ui  | 2026-01-14 20:36:09.844     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:36:09 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED
nginx-ui  |
nginx-ui  | 2026-01-14 20:36:10.224     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert 2026/01/14 20:36:10 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED
nginx-ui  |
nginx-ui  | 2026-01-14 20:36:10.461     ERROR   github.com/0xJacky/Nginx-UI/internal/cert/logger.go:85  AutoCert obtain cert error: error: one or more domains had a problem:
nginx-ui  | [*.mydomain.ch] [*.mydomain.ch] acme: error presenting token: infomaniak: could not get domain "proxy.on.local.": domain not found local
nginx-ui  | [mydomain.ch] [mydomain.ch] acme: error presenting token: infomaniak: could not get domain "proxy.on.local.": domain not found local
nginx-ui  |
nginx-ui  | 2026-01-14 20:36:10.461     INFO    github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72  AutoCert [Nginx UI] Environment variables cleaned
nginx-ui  |
nginx-ui  | 2026/01/14 20:36:10 github.com/0xJacky/Nginx-UI/model/cert.go:106
nginx-ui  | [0.354ms] [rows:0] UPDATE `certs` SET `updated_at`="2026-01-14 20:36:10.461",`log`="{""message"":""[Nginx UI] Preparing lego configurations""}
nginx-ui  | {""message"":""[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"",""args"":{""caDir"":""https://acme-v02.api.letsencrypt.org/directory"",""email"":""REDACTED@REDACTED.com"",""name"":""System Initial User""}}
nginx-ui  | {""message"":""[Nginx UI] Creating client facilitates communication with the CA server""}
nginx-ui  | {""message"":""[Nginx UI] Setting DNS01 challenge provider""}
nginx-ui  | {""message"":""[Nginx UI] Setting environment variables""}
nginx-ui  | {""message"":""[Nginx UI] Obtaining certificate""}
nginx-ui  | {""message"":""2026/01/14 20:35:27 [INFO] [mydomain.ch, *.mydomain.ch] acme: Obtaining bundled SAN certificate\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [*.mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: use dns-01 solver\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: tls-alpn-01\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: http-01\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: use dns-01 solver\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: Preparing to solve DNS-01\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:29 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:39 [INFO] domain \""proxy.on.local\"" not found, trying with \""on.local\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:39 [INFO] domain \""on.local\"" not found, trying with \""local\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:39 [INFO] [mydomain.ch] acme: Preparing to solve DNS-01\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:39 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:49 [INFO] domain \""proxy.on.local\"" not found, trying with \""on.local\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:49 [INFO] domain \""on.local\"" not found, trying with \""local\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:49 [INFO] [*.mydomain.ch] acme: Cleaning DNS-01 challenge\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:49 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:59 [WARN] [*.mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.' \n""}
nginx-ui  | {""message"":""2026/01/14 20:35:59 [INFO] [mydomain.ch] acme: Cleaning DNS-01 challenge\n""}
nginx-ui  | {""message"":""2026/01/14 20:35:59 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""}
nginx-ui  | {""message"":""2026/01/14 20:36:09 [WARN] [mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.' \n""}
nginx-ui  | {""message"":""2026/01/14 20:36:09 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""}
nginx-ui  | {""message"":""2026/01/14 20:36:10 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""}
nginx-ui  | {""message"":""[Nginx UI] Environment variables cleaned""}
nginx-ui  | 2026-01-14 20:36:10 [Error] obtain cert error: error: one or more domains had a problem:
nginx-ui  | [*.mydomain.ch] [*.mydomain.ch] acme: error presenting token: infomaniak: could not get domain ""proxy.on.local."": domain not found local
nginx-ui  | [mydomain.ch] [mydomain.ch] acme: error presenting token: infomaniak: could not get domain ""proxy.on.local."": domain not found local" WHERE `id` = 0 AND `certs`.`deleted_at` IS NULL RETURNING *
nginx-ui  | [GIN] 2026/01/14 - 20:36:10 | 200 | 43.362640845s |    192.168.5.55 | GET      "/api/domain/mydomain.ch/cert?token=REDACTED"

While "proxy.on.local" being the actual nginx-ui host and "on.local" being my LAN DNS zone.

Info (please complete the following information):

  • Server OS: Archlinux
  • Server Arch: x86
  • Nginx UI Version: 2.3.2 (512)
  • Your Browser: Librewolf

Additional context
Running via docker-compose, the full compose file:

services:
  nginx-ui:
    stdin_open: true
    tty: true
    container_name: nginx-ui
    image: 'uozi/nginx-ui:latest'
    restart: always
    environment:
      - TZ=Europe/Zurich
    volumes:
      - '/home/on/services/docker/nginx-ui/data/nginx:/etc/nginx'
      - '/home/on/services/docker/nginx-ui/data/nginx-ui:/etc/nginx-ui'
      - '/var/www:/var/www'
      - '/var/run/docker.sock:/var/run/docker.sock'
      - /etc/localtime:/etc/localtime:ro
    network_mode: host
Originally created by @astrdev on GitHub (Jan 14, 2026). Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1523 **Describe the bug** Here, I want to create a Let's Encrypt cert for "mydomain.ch" and "*.mydomain.ch" (while "mydomain.ch" being just a placeholder). I purchased "mydomain.ch" at Infomaniak. So for that DNS provider, I created the DNS credentials for the Infomaniak provider with a correct access token. And then, when I want to issue a certificate from the Certificates List, putting the two domain above, nginx-ui cannot create the cert. But, for example, while I'm using Nginx Proxy Manager (because I used that before testing nginx-ui), it can create that cert while providing the same domains above. **To Reproduce** Steps to reproduce the behavior: 1. Simply issue a Let's Encrypt cert for "mydomain.ch" and "*.mydomain.ch" in "Home > Certificates > Certificates List" **Expected behavior** Successfully create the Let's Encrypt cert for the above domains. **Screenshots** 1. The "Issue Certificate" creation box: <img width="346" height="790" alt="Image" src="https://github.com/user-attachments/assets/5313a76d-a2e3-4368-83a7-7c8a08d83391" /> 2. Full trace logs while doing it (redacted some info): ``` nginx-ui | 2026/01/14 20:35:27 github.com/0xJacky/Nginx-UI/model/cert.go:68 nginx-ui | [0.157ms] [rows:0] SELECT * FROM `certs` WHERE (`certs`.`name` = "mydomain.ch" AND `certs`.`filename` = "mydomain.ch" AND `certs`.`key_type` = "P384") AND `certs`.`deleted_at` IS NULL ORDER BY `certs`.`id` LIMIT 1 nginx-ui | 2026-01-14 20:35:27.101 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] Preparing lego configurations nginx-ui | nginx-ui | 2026/01/14 20:35:27 github.com/0xJacky/Nginx-UI/internal/cert/payload.go:43 nginx-ui | [0.089ms] [rows:1] SELECT * FROM `acme_users` WHERE `acme_users`.`id` = 7 AND `acme_users`.`deleted_at` IS NULL ORDER BY `acme_users`.`id` LIMIT 1 nginx-ui | 2026-01-14 20:35:27.101 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] ACME User: System Initial User, Email: REDACTED@REDACTED.com, CA Dir: https://acme-v02.api.letsencrypt.org/directory nginx-ui | 2026-01-14 20:35:27.101 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] Creating client facilitates communication with the CA server nginx-ui | nginx-ui | 2026/01/14 20:35:27 github.com/0xJacky/Nginx-UI/internal/cert/issue.go:111 nginx-ui | [0.158ms] [rows:1] SELECT * FROM `dns_credentials` WHERE id=1 AND `dns_credentials`.`deleted_at` IS NULL LIMIT 1 nginx-ui | 2026-01-14 20:35:27.647 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] Setting DNS01 challenge provider nginx-ui | 2026-01-14 20:35:27.647 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] Setting environment variables nginx-ui | 2026-01-14 20:35:27.647 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] Obtaining certificate nginx-ui | 2026-01-14 20:35:27.647 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:27 [INFO] [mydomain.ch, *.mydomain.ch] acme: Obtaining bundled SAN certificate nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [*.mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: use dns-01 solver nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: tls-alpn-01 nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: http-01 nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: use dns-01 solver nginx-ui | nginx-ui | 2026-01-14 20:35:29.121 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: Preparing to solve DNS-01 nginx-ui | nginx-ui | 2026-01-14 20:35:29.122 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:29 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local." nginx-ui | nginx-ui | 2026-01-14 20:35:39.346 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:39 [INFO] domain "proxy.on.local" not found, trying with "on.local" nginx-ui | nginx-ui | 2026-01-14 20:35:39.439 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:39 [INFO] domain "on.local" not found, trying with "local" nginx-ui | nginx-ui | 2026-01-14 20:35:39.439 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:39 [INFO] [mydomain.ch] acme: Preparing to solve DNS-01 nginx-ui | nginx-ui | 2026-01-14 20:35:39.440 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:39 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local." nginx-ui | nginx-ui | 2026-01-14 20:35:49.584 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:49 [INFO] domain "proxy.on.local" not found, trying with "on.local" nginx-ui | nginx-ui | 2026-01-14 20:35:49.685 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:49 [INFO] domain "on.local" not found, trying with "local" nginx-ui | nginx-ui | 2026-01-14 20:35:49.685 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:49 [INFO] [*.mydomain.ch] acme: Cleaning DNS-01 challenge nginx-ui | nginx-ui | 2026-01-14 20:35:49.685 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:49 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local." nginx-ui | nginx-ui | 2026-01-14 20:35:59.686 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:59 [WARN] [*.mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.' nginx-ui | nginx-ui | 2026-01-14 20:35:59.686 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:59 [INFO] [mydomain.ch] acme: Cleaning DNS-01 challenge nginx-ui | nginx-ui | 2026-01-14 20:35:59.687 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:35:59 [INFO] Found CNAME entry for "_acme-challenge.mydomain.ch.": "proxy.on.local." nginx-ui | nginx-ui | 2026-01-14 20:36:09.687 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:36:09 [WARN] [mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.' nginx-ui | nginx-ui | 2026-01-14 20:36:09.844 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:36:09 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED nginx-ui | nginx-ui | 2026-01-14 20:36:10.224 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert 2026/01/14 20:36:10 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED nginx-ui | nginx-ui | 2026-01-14 20:36:10.461 ERROR github.com/0xJacky/Nginx-UI/internal/cert/logger.go:85 AutoCert obtain cert error: error: one or more domains had a problem: nginx-ui | [*.mydomain.ch] [*.mydomain.ch] acme: error presenting token: infomaniak: could not get domain "proxy.on.local.": domain not found local nginx-ui | [mydomain.ch] [mydomain.ch] acme: error presenting token: infomaniak: could not get domain "proxy.on.local.": domain not found local nginx-ui | nginx-ui | 2026-01-14 20:36:10.461 INFO github.com/0xJacky/Nginx-UI/internal/cert/logger.go:72 AutoCert [Nginx UI] Environment variables cleaned nginx-ui | nginx-ui | 2026/01/14 20:36:10 github.com/0xJacky/Nginx-UI/model/cert.go:106 nginx-ui | [0.354ms] [rows:0] UPDATE `certs` SET `updated_at`="2026-01-14 20:36:10.461",`log`="{""message"":""[Nginx UI] Preparing lego configurations""} nginx-ui | {""message"":""[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"",""args"":{""caDir"":""https://acme-v02.api.letsencrypt.org/directory"",""email"":""REDACTED@REDACTED.com"",""name"":""System Initial User""}} nginx-ui | {""message"":""[Nginx UI] Creating client facilitates communication with the CA server""} nginx-ui | {""message"":""[Nginx UI] Setting DNS01 challenge provider""} nginx-ui | {""message"":""[Nginx UI] Setting environment variables""} nginx-ui | {""message"":""[Nginx UI] Obtaining certificate""} nginx-ui | {""message"":""2026/01/14 20:35:27 [INFO] [mydomain.ch, *.mydomain.ch] acme: Obtaining bundled SAN certificate\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [*.mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: use dns-01 solver\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: tls-alpn-01\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: Could not find solver for: http-01\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [mydomain.ch] acme: use dns-01 solver\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] [*.mydomain.ch] acme: Preparing to solve DNS-01\n""} nginx-ui | {""message"":""2026/01/14 20:35:29 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:39 [INFO] domain \""proxy.on.local\"" not found, trying with \""on.local\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:39 [INFO] domain \""on.local\"" not found, trying with \""local\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:39 [INFO] [mydomain.ch] acme: Preparing to solve DNS-01\n""} nginx-ui | {""message"":""2026/01/14 20:35:39 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:49 [INFO] domain \""proxy.on.local\"" not found, trying with \""on.local\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:49 [INFO] domain \""on.local\"" not found, trying with \""local\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:49 [INFO] [*.mydomain.ch] acme: Cleaning DNS-01 challenge\n""} nginx-ui | {""message"":""2026/01/14 20:35:49 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""} nginx-ui | {""message"":""2026/01/14 20:35:59 [WARN] [*.mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.' \n""} nginx-ui | {""message"":""2026/01/14 20:35:59 [INFO] [mydomain.ch] acme: Cleaning DNS-01 challenge\n""} nginx-ui | {""message"":""2026/01/14 20:35:59 [INFO] Found CNAME entry for \""_acme-challenge.mydomain.ch.\"": \""proxy.on.local.\""\n""} nginx-ui | {""message"":""2026/01/14 20:36:09 [WARN] [mydomain.ch] acme: cleaning up failed: infomaniak: unknown record ID for 'proxy.on.local.' \n""} nginx-ui | {""message"":""2026/01/14 20:36:09 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""} nginx-ui | {""message"":""2026/01/14 20:36:10 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz/REDACTED/REDACTED\n""} nginx-ui | {""message"":""[Nginx UI] Environment variables cleaned""} nginx-ui | 2026-01-14 20:36:10 [Error] obtain cert error: error: one or more domains had a problem: nginx-ui | [*.mydomain.ch] [*.mydomain.ch] acme: error presenting token: infomaniak: could not get domain ""proxy.on.local."": domain not found local nginx-ui | [mydomain.ch] [mydomain.ch] acme: error presenting token: infomaniak: could not get domain ""proxy.on.local."": domain not found local" WHERE `id` = 0 AND `certs`.`deleted_at` IS NULL RETURNING * nginx-ui | [GIN] 2026/01/14 - 20:36:10 | 200 | 43.362640845s | 192.168.5.55 | GET "/api/domain/mydomain.ch/cert?token=REDACTED" ``` While "proxy.on.local" being the actual nginx-ui host and "on.local" being my LAN DNS zone. **Info (please complete the following information):** - Server OS: Archlinux - Server Arch: x86 - Nginx UI Version: 2.3.2 (512) - Your Browser: Librewolf **Additional context** Running via docker-compose, the full compose file: ``` services: nginx-ui: stdin_open: true tty: true container_name: nginx-ui image: 'uozi/nginx-ui:latest' restart: always environment: - TZ=Europe/Zurich volumes: - '/home/on/services/docker/nginx-ui/data/nginx:/etc/nginx' - '/home/on/services/docker/nginx-ui/data/nginx-ui:/etc/nginx-ui' - '/var/www:/var/www' - '/var/run/docker.sock:/var/run/docker.sock' - /etc/localtime:/etc/localtime:ro network_mode: host ```
kerem 2026-03-01 15:40:53 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@0xJacky commented on GitHub (Feb 8, 2026):

A public domain name is required to apply for the certificate.

<!-- gh-comment-id:3867068502 --> @0xJacky commented on GitHub (Feb 8, 2026): A public domain name is required to apply for the certificate.
Author
Owner

@astrdev commented on GitHub (Feb 12, 2026):

A public domain name is required to apply for the certificate.

What does this has to do with this issue? My domain was always private (with THE WHOIS info redacted, if it's what you mean), but it didn't stop me to create the same cert (for the both domains above) in NPM before.

Do you have an idea?

<!-- gh-comment-id:3893898464 --> @astrdev commented on GitHub (Feb 12, 2026): > A public domain name is required to apply for the certificate. What does this has to do with this issue? My domain was always private (with THE WHOIS info redacted, if it's what you mean), but it didn't stop me to create the same cert (for the both domains above) in NPM before. Do you have an idea?
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-ui#5274
No description provided.