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

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., so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is:

I ran this command: sudo ./letsencrypt-auto --apache -d

It produced this output:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching Timeout during connect (likely firewall problem)

 - The following errors were reported by the server:

   Type:   connection
   Detail: Fetching
   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): apache2 v. 2.4.18-2ubuntu3.8

The operating system my web server runs on is (include version): Ubuntu 16.04 (64-bit)

My hosting provider, if applicable, is: self

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

This appears similar to other previous posts, but I’ve reviewed them and I think this is a different problem.
Basically, I’m seeing no evidence in apache logs that the attempt to authorize hits my server at all. However, I am able to get to a test file in the webroot folder on the server via both ports 80 and 443.

The external connection goes thru an ISP modem to an internal router to the server. Both of these ports are open on both devices and ISP directs to router which directs to server. And, this works in a browser to pull up web pages on the server from outside on both ports.

Firewalls are deactivated on both devices.

Why can I serve web pages to the internet on both ports, but the authorization command cannot get thru to the server?

Help and Thanks

Hi @fstriley,

Are you sure?. I can't connect to your server using port 80:

$ curl -IkL -m20
curl: (28) Connection timed out after 20000 milliseconds

But I can using port 443:

$ curl -IkL -m20
HTTP/1.1 404 Not Found
Date: Thu, 03 May 2018 14:30:28 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Type: text/html; charset=iso-8859-1

Maybe you are not blocking port 80 but your ISP does.


Hi sahsanu, Actually, yes, I’m also now unable to connect from outside on 80. Could be ISP. I’ll investigate further. Cheers.

1 Like

Sahsanu, et al. My ISP is, in fact, blocking inbound port 80 and per my discussion with them, they will not unblock it unless I buy the company :wink: I am not that rich.

Does anyone have suggestions about how to create authorization certificate without port 80 open? (Port 443 is open and working)


Port 443 validations are no longer supported.

So, you can use the DNS-01 method instead if you can create TXT records for your domain with a DNS provider API.

Thanks schoen. Unfortunately we are not able to create TXT records as the domain is a dynamic DNS. That in itself is a problem apparently. We’ll rethink our strategy.

Thanks for the help.

Hi @fstriley,

If you don't mind to change the domain there are alternatives.

You can buy a cheap domain or get a free domain at and use a dns provider like Cloudflare, it is free and has an API to update/create/delete DNS records and also allows to update records using ddclient to modify the records for your domain with your dynamic ip address.

If you don't like that idea, you can also use another free dynamic DNS provider that supports adding TXT records (needed for dns challenge) like A few days ago I wrote a post with several steps to use this DDNS provider and client.

These are the steps to use

1.- Create a free account on

2.- Create a Dynamic DNS Service on Here you add your subdomain and choose the base domain (there are a few to choose, in this example I will use mydyndomain as subdomain and as base domain)

3.- Once the domain is created, go to Control Panel -> API Credentials and click on button Reset Credentials, now take note of Client ID and Secret (we will use them later).

4.- Here you could install their dynamic client so it will update your dynamic address or use wget, etc. more info here IP Update Client | Free Dynamic DNS Service | Dynu

5.- Install client (more info in

curl | sh

6.- Once installed, issue the cert for your domain. Here we will export 2 variables containing the previously created Client ID and Secret (obvously you need to replace the content of these variables with the real data):

export Dynu_ClientId="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export Dynu_Secret="yyyyyyyyyyyyyyyyyyyyyyyyy" --issue --dns dns_dynu -d

And if all work as expected, you get your certificate.

Good luck,

1 Like

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