Move from TLS-SNI to HTTPS on NAT

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:
./certbot-auto certonly
I then chose to validate through Apache webserver on port 80.
It produced this output:


  • 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):
Apache/2.4.7 (Ubuntu)
The operating system my web server runs on is (include version):
14.04.5 LTS
My hosting provider, if applicable, is:
I can login to a root shell on my machine (yes or no, or I don’t know):
I’m using a control panel to manage my site (no, or provide the name and version of the control panel):
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you’re using Certbot):
Certbot 0.30.2

Other pertinent information:
This was working with the TLS verification, but I can’t seem to get HTTP to work. I tried the standalone which worked for TLS, and it didn’t for HTTP. I keep getting the timeout error.
So I updated certbot to certbot auto.
I also updated the apache2 config to include the following:
Alias /.well-known/acme-challenge/ “/var/lib/letsencrypt/.well-known/acme-challenge/”
<Directory “/var/lib/letsencrypt/”>
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS

I also made the var/lib/letsencrypt directory and made it accessible with the following commands:

  1. sudo mkdir -p /var/lib/letsencrypt/.well-known
  2. sudo chgrp www-data /var/lib/letsencrypt
  3. sudo chmod g+s /var/lib/letsencrypt

Lastly, this server is behind a NAT, but it’s a 1:1 NAT of the public IP ( to a private one and vice versa for going out.

Am I missing something in the apache config or in the permissions of the folders? Any help would be greatly appreciated.

Thank you!

Hi @codyrigg

checking your website it looks more like a firewall problem ( ):

Domainname Http-Status redirect Sec. G -14 10.023 T
Timeout - The operation has timed out -2 1.434 V
ConnectFailure - Unable to connect to the remote server No connection could be made because the target machine actively refused it -14 10.023 T
Timeout - The operation has timed out

http has a timeout (10 seconds), https is blocked (1 second).

But if you use http-01 - validation, Letsencrypt requires an answer via http / port 80. You can send a redirect to https, Letsencrypt will follow.

Is there a firewall or something else? Or a missing router forwarding?

Thanks so much for the help and the website!
I was able to go to our website, but I didn’t realize it wasn’t being served outside of our domain.
It had to do with the firewall, and I enabled port 80.

1 Like

Yep, I see, you have checked your website, /.well-known/acme-challenge had the expected http status 404.

And there

is your new certificate, created today.

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