My domain is: pzidgrabber.com
I ran this command: certbot renew --dry-run -v
It produced this output:
Processing /etc/letsencrypt/renewal/pzidgrabber.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Simulating renewal of an existing certificate for pzidgrabber.com and 2 more domains
Performing the following challenges:
http-01 challenge for api.pzidgrabber.com
http-01 challenge for pzidgrabber.com
http-01 challenge for www.pzidgrabber.com
Waiting for verification...
Challenge failed for domain api.pzidgrabber.com
http-01 challenge for api.pzidgrabber.com
Certbot failed to authenticate some domains (authenticator: nginx). The Certificate Authority reported these problems:
Domain: api.pzidgrabber.com
Type: unauthorized
Detail: 2600:3c02::f03c:93ff:fe78:9ff6: Invalid response from http://api.pzidgrabber.com/.well-known/acme-challenge/LokhR1JOjvWDHveKrZSGnXgqhzEMsircKEVEHtil2ek: 404
Hint: The Certificate Authority failed to verify the temporary nginx configuration changes made by Certbot. Ensure the listed domains point to this nginx server and that it is accessible from the internet.
Cleaning up challenges
Failed to renew certificate pzidgrabber.com with error: Some challenges have failed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
All simulated renewals failed. The following certificates could not be renewed:
/etc/letsencrypt/live/pzidgrabber.com/fullchain.pem (failure)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
root@localhost:/etc/nginx/conf.d# nano pzidgrabber.com.conf
root@localhost:/etc/nginx/conf.d# nano pzidgrabber.com.conf
root@localhost:/etc/nginx/conf.d# sudo service nginx restart
root@localhost:/etc/nginx/conf.d# certbot renew --dry-run -v
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/pzidgrabber.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certificate is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Simulating renewal of an existing certificate for pzidgrabber.com and 2 more domains
Performing the following challenges:
http-01 challenge for api.pzidgrabber.com
http-01 challenge for pzidgrabber.com
http-01 challenge for www.pzidgrabber.com
Waiting for verification...
Challenge failed for domain api.pzidgrabber.com
http-01 challenge for api.pzidgrabber.com
Certbot failed to authenticate some domains (authenticator: nginx). The Certificate Authority reported these problems:
Domain: api.pzidgrabber.com
Type: unauthorized
Detail: During secondary validation: 2600:3c02::f03c:93ff:fe78:9ff6: Invalid response from http://api.pzidgrabber.com/.well-known/acme-challenge/XX6OLOmaXzZV_EzjGBBy9k4ep2SfUF68aZwSm6E01ag: 404
Hint: The Certificate Authority failed to verify the temporary nginx configuration changes made by Certbot. Ensure the listed domains point to this nginx server and that it is accessible from the internet.
Cleaning up challenges
Failed to renew certificate pzidgrabber.com with error: Some challenges have failed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
All simulated renewals failed. The following certificates could not be renewed:
/etc/letsencrypt/live/pzidgrabber.com/fullchain.pem (failure)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)
My web server is (include version): Nginx 1.18.0
The operating system my web server runs on is (include version): Debian 18
My hosting provider, if applicable, is: Linode
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
The version of my client is (e.g. output of certbot --version
or certbot-auto --version
if you're using Certbot): certbot 2.7.1
My Conf.d file:
server {
server_name pzidgrabber.com www.pzidgrabber.com;
root /var/www/pzidgrabber.com/frontend;
index index.html;
gzip on;
gzip_comp_level 3;
gzip_types text/plain text/css application/javascript image/*;
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/pzidgrabber.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/pzidgrabber.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location ~ /.well-known/acme-challenge/ {
allow all;
}
}
server {
if ($host = www.pzidgrabber.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = pzidgrabber.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name pzidgrabber.com www.pzidgrabber.com;
return 404; # managed by Certbot
location ~ /.well-known/acme-challenge/ {
allow all;
}
}
server {
server_name api.pzidgrabber.com;
location / {
proxy_pass "http://127.0.0.1:8000";
}
error_page 405 =200 $uri;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/pzidgrabber.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/pzidgrabber.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location ~ /.well-known/acme-challenge/ {
allow all;
}
}
server {
if ($host = api.pzidgrabber.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name api.pzidgrabber.com;
listen 80;
return 404; # managed by Certbot
location ~ /.well-known/acme-challenge/ {
allow all;
}
}
Thank you!!