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:
I ran this command:
certbot renew --dry-run
It produced this output:
The following certs could not be renewed:
/etc/letsencrypt/live/mail.increaseyourskills.com/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: mail.increaseyourskills.com
Type: unauthorized
Detail: Invalid response from
http://mail.increaseyourskills.com/.well-known/acme-challenge/l0cc2g1E7spZ9WnAJrdmCGidjtdhMb7EQ_S3MzLw0cE:
ā\r\n404 Not Found\r\n<body
bgcolor=āwhiteā>\r\n404 Not
\r\n
Found
ā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.
My web server is (include version):
nginx 1.14
The operating system my web server runs on is (include version):
Ubuntu 18.04.1 LTS (bionic)
My hosting provider, if applicable, is:
Hetzner (https://www.hetzner.de/)
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 0.28.0
My additional thoughts:
I read through some similar souding threads and already tested a little bit of some advice.
For instance I created a file in the webroot under ./well-known/acme-challenge. I could access this file without any issues.
I also made sure to have the right file and group permissions on this folder.
Output of ādpkg -l | grep certbotā:
ii certbot 0.28.0-1+ubuntu18.04.1+certbot+4 all automatically configure HTTPS using Letās Encrypt
ii python-augeas 0.5.0-1+ubuntu18.04.1+certbot+1 all Python bindings for Augeas
ii python-certbot-nginx 0.28.0-1+ubuntu18.04.1+certbot+3 all transitional dummy package
ii python3-acme 0.28.0-1+ubuntu18.04.1+certbot+3 all ACME protocol library for Python 3
ii python3-certbot 0.28.0-1+ubuntu18.04.1+certbot+4 all main library for certbot
ii python3-certbot-nginx 0.28.0-1+ubuntu18.04.1+certbot+3 all Nginx plugin for Certbot
ii python3-configobj 5.0.6-2+ubuntu18.04.1+certbot+1 all simple but powerful config file reader and writer for Python 3
ii python3-future 0.15.2-4+ubuntu18.04.1+certbot+3 all Clean single-source support for Python 3 and 2 - Python 3.x
ii python3-parsedatetime 2.4-3+ubuntu18.04.1+certbot+3 all Python 3 module to parse human-readable date/time expressions
ii python3-requests-toolbelt 0.8.0-1+ubuntu18.04.1+certbot+1 all Utility belt for advanced users of python3-requests
ii python3-zope.component 4.3.0-1+ubuntu18.04.1+certbot+3 all Zope Component Architecture
ii python3-zope.hookable 4.0.4-4+ubuntu18.04.1+certbot+1 amd64 Hookable object support
ii python3-zope.interface 4.3.2-1+ubuntu18.04.1+certbot+1 amd64 Interfaces for Python3
Content of Virtual Host file for mail.increaseyourskills.com:
server {
if ($host = mail.increaseyourskills.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name mail.increaseyourskills.com;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
#
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mail.increaseyourskills.com;
client_max_body_size 2000m;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers On;
ssl_trusted_certificate /etc/letsencrypt/live/mail.increaseyourskills.com/chain.pem;
ssl_certificate /etc/letsencrypt/live/increaseyourskills.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/increaseyourskills.com/privkey.pem; # managed by Certbot
ssl_session_cache shared:SSL:128m;
ssl_session_timeout 1h;
add_header Strict-Transport-Security "max-age=31557600; includeSubDomains";
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Xss-Protection "1";
#add_header Content-Security-Policy "default-src 'self'; script-src 'self' *.google-analytics.com";
ssl_stapling on;
ssl_stapling_verify on;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/webmail;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/(config|temp|logs)/ {
deny all;
}
#location ~ /\. {
# deny all;
# access_log off;
# log_not_found off;
#}
location ^~ /.well-known/acme-challenge/ {
allow all;
default_type "text/plain";
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
include fastcgi_params;
client_max_body_size 2000m;
include snippets/fastcgi-php.conf;
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
This domain is the only one which is not compatible for the renewing process for an unknown reason (the other domains are working like a charm)
I would appreciate your help.
Best regards
Christian