Renew dry-run not working


#1

I just installed Certbot and issued certificates for my domain. When preparing my renewal script, I’m facing some problems.

Domain: intelligenceeventos.com.br
OS: CentOS 7
I’m using Certbot in standalone mode
No installers are being used
It’s configured to run on port 8080 for renewals

Firewall is open - I issued these commands:

# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --reload

Cert Renewal config file:

# renew_before_expiry = 30 days
version = 0.27.1
archive_dir = /etc/letsencrypt/archive/intelligenceeventos.com.br
cert = /etc/letsencrypt/live/intelligenceeventos.com.br/cert.pem
privkey = /etc/letsencrypt/live/intelligenceeventos.com.br/privkey.pem
chain = /etc/letsencrypt/live/intelligenceeventos.com.br/chain.pem
fullchain = /etc/letsencrypt/live/intelligenceeventos.com.br/fullchain.pem
# Options used in the renewal process
[renewalparams]
authenticator = standalone
account = 8d05a98587ddc28c3e77bcd88d57eda9
pref_challs = http-01,
http01_port =8080
server = https://acme-v02.api.letsencrypt.org/directory

Then I tried:

# certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/intelligenceeventos.com.br.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator standalone, Installer None
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for intelligenceeventos.com.br
Waiting for verification...
Cleaning up challenges
Attempting to renew cert (intelligenceeventos.com.br) from /etc/letsencrypt/renewal/intelligenceeventos.com.br.conf produced an unexpected error: Failed authorization procedure. intelligenceeventos.com.br (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://intelligenceeventos.com.br/.well-known/acme-challenge/UwJQfDDgspcxOkvfQ-hjQdepcK5ZX3Is_-EGpBataAE: Connection refused. Skipping.
All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/intelligenceeventos.com.br/fullchain.pem (failure)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

All renewal attempts failed. The following certs could not be renewed:
  /etc/letsencrypt/live/intelligenceeventos.com.br/fullchain.pem (failure)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: intelligenceeventos.com.br
   Type:   connection
   Detail: Fetching
   http://intelligenceeventos.com.br/.well-known/acme-challenge/UwJQfDDgspcxOkvfQ-hjQdepcK5ZX3Is_-EGpBataAE:
   Connection refused

   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.

I tested the webserver access from another host to check if it was blocked, but it was not:

$ wget intelligenceeventos.com.br:8080
--2018-11-23 10:19:56--  http://intelligenceeventos.com.br:8080/
Resolvendo intelligenceeventos.com.br (intelligenceeventos.com.br)... 192.241.182.93
Conectando-se a intelligenceeventos.com.br (intelligenceeventos.com.br)|192.241.182.93|:8080... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: não especificada [text/html]
Salvando em: “index.html”

index.html                                       [ <=>                                                                                         ]      39  --.-KB/s    em 0s      

2018-11-23 10:19:56 (2,86 MB/s) - “index.html” salvo [39]
$ cat index.html 
ACME client standalone challenge solver

Sorry if my system language is not in English, but you can easily check that 200 OK.

Any hints on how to solve this?

Thanks in advance!


#2

Hi @clodbrasilino

you must have an open port 80. Your firewall may redirect the traffic to port 8080. But initial Letsencrypt wants to load the file via http / port 80.