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.