Using Hostinger VPS to get HTTPS with Certbot. Error: The Certificate Authority failed to download the temporary challenge files created by Certbot:

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. crt.sh | example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is: chainsol.com.sg

I ran this command: docker compose up

It produced this output:
root@srv798653:~/chainsol# docker compose up
[+] Running 3/3
:check_mark: Container chainsolv1 Running 0.0s
:check_mark: Container nginx Running 0.0s
:check_mark: Container certbot Created 0.0s
Attaching to certbot, chainsolv1, nginx
certbot | Saving debug log to /var/log/letsencrypt/letsencrypt.log
certbot | Requesting a certificate for chainsol.com.sg
certbot |
certbot | Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
certbot | Domain: chainsol.com.sg
certbot | Type: unauthorized
certbot | Detail: 2a02:4780:2b:1670:0:2ba0:333a:2: Invalid response from http://chainsol.com.sg/.well-known/acme-challenge/GYxOwqkBt3zn_w8tCSN31rloGIxgIuQi0uBKVBRX_VM: 404
certbot |
certbot | Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.
certbot |
certbot | Some challenges have failed.
certbot | Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
certbot exited with code 1

My web server is (include version):
docker exec nginx nginx -v
nginx version: nginx/1.27.5

The operating system my web server runs on is (include version):
Ubuntu 24.04.2 LTS (Linux kernel 6.8.0-60-generic)

My hosting provider, if applicable, is:
Hostinger, VPS docker application, 212.85.27.240

I can login to a root shell on my machine (yes or no, or I don't know):
Yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel):
No

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): certbot 4.0.0 (it's a dockerised certbot with docker compose)

You have both an IPv4 A record and an IPv6 AAAA record in your DNS

But, the IPv6 address points to a Hostinger service not your server. Hostinger creates this AAAA record automatically for new setups.

You need to update the AAAA address or remove it if you do not support IPv6.

Any client trying to use IPv6 will connect to that Hostinger service instead of your server. Let's Encrypt favors IPv6 when an AAAA record is present.

See Hostinger article here: How to manage AAAA records | Hostinger Help Center

And use this site to test connections

4 Likes

Thank you Mike, Yes this indeed solved my issue :), I really appreciate this a lot. If we ever meet up, I will definitely treat you a coffee because this has been bothering me for a week, DAMN.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.