Let's Encrypt could not renewal with private domain

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: bitbucket.its-lab.net

I ran this command:sudo certbot certonly --force-renew --webroot -w /etc/nginx -d bitbucket.its-lab.net

It produced this output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for bitbucket.its-lab.net
Using the webroot path /etc/nginx for all unmatched domains.
Waiting for verification…
Cleaning up challenges
Failed authorization procedure. bitbucket.its-lab.net (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://bitbucket.its-lab.net/.well-known/acme-challenge/uFMN_q3MZzM4KXeOoUMOHOSARag5gI9FEZ1yrbJ8YhM: Error getting validation data

IMPORTANT NOTES:

  • The following errors were reported by the server:

    Domain: bitbucket.its-lab.net
    Type: connection
    Detail: Fetching
    http://bitbucket.its-lab.net/.well-known/acme-challenge/uFMN_q3MZzM4KXeOoUMOHOSARag5gI9FEZ1yrbJ8YhM:
    Error getting validation data

    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):

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

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.27.1

Let’t Encrypt can get renewal with private IP? this IP can not connect from outsite.

1 Like

Hi @phongnx1

your dns entries - https://check-your-website.server-daten.de/?q=bitbucket.its-lab.net

Host T IP-Address is auth. ∑ Queries ∑ Timeout
bitbucket.its-lab.net A 150.95.49.15 Naha/Okinawa/Japan (JP) - interQ Hostname: v150-95-49-15.a00a.g.jpt1.static.cnode.io yes 1 0
AAAA yes
www.bitbucket.its-lab.net Name Error yes 1 0

That’s a public ip address.

But there is no answer, only timeouts:

Domainname Http-Status redirect Sec. G
http://bitbucket.its-lab.net/
150.95.49.15 -14 10.063 T
Timeout - The operation has timed out
https://bitbucket.its-lab.net/
150.95.49.15 -14 10.030 T
Timeout - The operation has timed out
http://bitbucket.its-lab.net/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
150.95.49.15 -14 10.017 T
Timeout - The operation has timed out
Visible Content:

So:

Fatal: Check of /.well-known/acme-challenge/random-filename has a timeout. Creating a Letsencrypt certificate via http-01 challenge can’t work. You need a running webserver (http) and an open port 80. If it’s a home server + ipv4, perhaps a correct port forwarding port 80 extern ⇒ working port intern is required. Port 80 / http can redirect to another domain port 80 or port 443, but not other ports. If it’s a home server, perhaps your ISP blocks port 80. Then you may use the dns-01 challenge.

Read

To use http-01 validation, you need a running webserver and an open port 80.

PS:

Isn’t this the machine with the public ip 150.95.49.15? Instead, is it a second machine? That can’t work. If you use webroot, certbot must be able to write in the /.well-known/acme-challenge subdirectory.

Thanks for your reply.

Yes!

I did.

This machine have private ip (172.xx.xx.xx) and public ip (150.95.49.15)
If at local hosts (172.xx.xx.xx bitbucket.its-lab.net) and access to bitbucket.its-lab.net.
It’s work for me. (config port 80 and port 443 done)

http://bitbucket.its-lab.net/.well-known/acme-challenge/ => OK (I prepare file with text is “OK”)

I think this proplem is network with domain bitbucket.its-lab.net, not problem with nginx config.
You think so?

I am not able to access these services at all. Are you testing from behind a firewall rather than from somewhere else on the Internet?

Furthermore, when I try to connect, I get back ICMP message type 3, code 10 (host administratively prohibited), which indicates that a firewall is intentionally blocking the connection.

2 Likes

Thanks for reply,

I had resolve this problem by open firewall port 80, service http

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Thank you for your support!

4 Likes

Yes, an open port 80 is required. Happy to read that you have found a solution :+1:

2 Likes

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