Failed authorization procedure. Timeout during connect (likely firewall problem)

Hello,

it was working fine for me before, but now I cannot get certificate for any new domain nor can update existing certificates. Tried automatically and manually.

Certificates are expiring and I cannot renew them for some reason.

Port 80 is open, firewall is letting it through, but somehow it still wouldn't work.

What could be the problem? It was working fine before

INFO:

My domain is: restreamer.beesport.online

I ran this command: sudo certbot --nginx -d restreamer.beesport.online and sudo certbot --renew

It produced this output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for restreamer.beesport.online
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. restreamer.beesport.online (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://restreamer.beesport.online/.well-known/acme-challenge/Pzd53lAVuswp9GhWCeXCrtUiVTRZNqc-Uqo1wGY8tjo: Timeout during connect (likely firewall problem)

IMPORTANT NOTES:

  • The following errors were reported by the server:

    Domain: restreamer.beesport.online
    Type: connection
    Detail: Fetching
    http://restreamer.beesport.online/.well-known/acme-challenge/Pzd53lAVuswp9GhWCeXCrtUiVTRZNqc-Uqo1wGY8tjo:
    Timeout during connect (likely firewall problem)

    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): Nginx proxy - nginx/1.14.2

The operating system my web server runs on is (include version): Debian GNU/Linux 10 (buster)

My hosting provider, if applicable, is: NA

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 0.31.0

1 Like

I think you may be geoblocking requests to your site, so you are inadvertently blocking validation requests from Let's Encrypt.

2 Likes

Thank you. It was not geoblocked but our Mikrotik blocked all lets encrypt attempts. Thanks for pointing to the right direction!

1 Like

If Mikrotik allows, you should Geoblock block HTTPS (but not HTTP).
You could handle the global ACME challenge requests in HTTP and forward all else to HTTPS.

For nginx, try something like:

  location ^/(?!\.well-known) {            # skip challenge requests
    return 301 https://$host$request_uri;  # send all requests to HTTPS
  }# location
  root /new/dedicated/challenge/path;

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