Open robalexdev opened 1 year ago
The client called the API via an URL that is unknown to the acme-dns server. So acme-dns cannot return the URL the client used. There can be multiple ways to reach a single acme-dns instance (internal, external) with proxies and load balancers (e.g. nginx, kubernetes, etc.) before acme-dns. All depending on the setup by the server admin which is out of reach of acme-dns.
Solution: Client must know the URL to register, then the client should store the server URL for updates.
See https://github.com/maddes-b/acme-dns-client-2 or the https://github.com/acme-dns/acme-dns-client
Please close the issue when solved.
I noticed that the libdns/acme-dns provider expects a
server_url
field to be defined in the JSON storage file. The acme-dns server doesn't set theserver_url
field in the JSON returned by the/register
endpoint.It would be helpful for the register API to include
server_url
to make these JSON blobs compatible. Currently, software like Caddy, which uses the libdns/acme-dns provider, will error out when this is missing (ServerURL cannot be empty
). Other software defaults tohttps://auth.acme-dns.io
which could accidentally leak information intended for a self-hosted installation to that endpoint.Can acme-dns add the server's
domain
as a newserver_url
field? Including the server's URL directly with the username/password in the JSON storage file would make it more self-contained.