Certbot renew not working, acme challange failed

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. https://crt.sh/?q=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:

hypnos.freeboxos.fr

I ran this command:

certbot renew -vvvv

It produced this output:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/hypnos.freeboxos.fr.conf
-------------------------------------------------------------------------------
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator apache, Installer apache
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for hypnos.freeboxos.fr
Waiting for verification...
Cleaning up challenges
Attempting to renew cert (hypnos.freeboxos.fr) from /etc/letsencrypt/renewal/hypnos.freeboxos.fr.conf produced an unexpected error: Failed authorization procedure. hypnos.freeboxos.fr (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://hypnos.freeboxos.fr/.well-known/acme-challenge/6n2QUbwOP6oQpWEm2HUYUgn4NxSTK0gDvq4F6JzVW4c: Timeout. Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/hypnos.freeboxos.fr/fullchain.pem (failure)

-------------------------------------------------------------------------------

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/hypnos.freeboxos.fr/fullchain.pem (failure)
-------------------------------------------------------------------------------
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: hypnos.freeboxos.fr
   Type:   connection
   Detail: Fetching
   http://hypnos.freeboxos.fr/.well-known/acme-challenge/6n2QUbwOP6oQpWEm2HUYUgn4NxSTK0gDvq4F6JzVW4c:
   Timeout

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

My web server is (include version):

Apache/2.4.10 (Raspbian)

The operating system my web server runs on is (include version):

Raspbian

My hosting provider, if applicable, is:

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

$ host hypnos.freeboxos.fr
hypnos.freeboxos.fr has address 82.253.204.53
hypnos.freeboxos.fr has IPv6 address 2a01:e35:2fdc:c350::1

$ telnet 82.253.204.53 80
Trying 82.253.204.53...
Connected to 82.253.204.53.

$ telnet 2a01:e35:2fdc:c350::1 80
Trying 2a01:e35:2fdc:c350::1...

Your domain has an AAAA record, but I'm not able to connect to your IPv6 address on port 80. The ACME server prefers IPv6 over IPv4.

2 Likes

Thanks for your answer.

A check my internet box configuration and the ipv6 is enable.

I don’t know where the problem came from. Is this an apache configuration problem?

Probably not. Timeout errors are almost always caused by something else.

Are you sure the IPv6 address is correct, and a firewall isn't blocking port 80?

I’m not a expert, how can I check if a firewall blocks port 80?

Hi,

It’s a domain issued automatically by Free and which point to your Freebox. Thus, Free points this domain to the IPv4 & IPv6 of your Freebox.

While you can forward ports on the public IPv4 of your Freebox (through NAT), you can’t do that on the IPv6: due to how IPv6 is intended to works, each device on your network has its own public IPv6 address.

To recap, your webserver is available on the Freebox’s IPv4 (thanks to the NAT), but not on the Freebox’s IPv6 (your webserver is using have a different public IPv6 address).

About this domain, you won’t be able to use it to issue Let’s Encrypt certificates because Free give no control over the freeboxos.fr records.

So, the only way to gets a Let’s Encrypt certificate for your webserver is to use another domain.

EDIT: Issuing certificates may have worked before because the DNS records contained only an IPv4. But Free recently started to put IPv6 in their *.freeboxos.fr records. That’s why you can’t renew.

1 Like

I don't know how Freebox works, but this explanation doesn't make complete sense to me. IPv4 was also originally intended to give each device a distinct IP address, and there should be nothing about IPv6 that prevents port forwarding.

(I don't mean to contradict your description of Freebox's behavior; I don't know anything about it.)

1 Like

Uch, IPv6 NAT, don't even go there :angry: With as much addresses as there are sand grains in the Sahara desert, I'm inclined to ignore and disagree with everything about NAT for IPv6.

IPv4 was also originally intended to give each device a distinct IP address.

Yes, but in facts (at least in France), residential connections gets a unique IP address which is then shared with all local devices with a NAT handled by the ISP's box.

and there should be nothing about IPv6 that prevents port forwarding

Yes and no. The NAT was originally created as a temporarily measure to extend the deadline before the available IPv4 address pool was exhausted. While you can technically still use some sort of NAT with IPv6, there is no good reason to use this "patch". If I remember correctly, the NAT with IPv6 is even discouraged in a RFC (I don't remember which one, sorry).

I fully agree with that. Nonetheless, if you have a router or firewall that can do IPv4 port forwarding, the same device in principle also ought to be capable of IPv6 port forwarding. Just because the port forwarding isn't supposed to be necessary doesn't mean that it should be impossible!

2 Likes

NAT must not be confused with ip forwarding.
The scenario described here should work.

Hello all,

thanks for your answers. I tried to do ipv6 port forwarding, but the freebox don’t allow it.

I tried to deactivate ipv6, but it still don’t work

They are the same thing (they rewrite an IP to another one).

As said, you probably will not be able to issue certificates with this domain. It is primarily intended to easily connect to your Freebox from the outside, and thus, it point to the IPv6 of the Freebox (not to your webserver one). Free doesn't allow end users to update the DNS records on the freeboxos.fr.

Disabling IPv6 may works (even if I would discourage that for the future). Be sure to reboot your Freebox and wait some time before trying again.

I disable the ipv6, and reboot the freebox. I’ll let you know if it works.

I finaly set a noip domain (without ipv6) for my freebox, and it works now.
Thanks all for your help !

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