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. crt.sh | 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: mindfulprogress.org
I ran this command: docker compose -f docker-compose.prod.yml run --rm --entrypoint "
certbot certonly --webroot -w /var/www/certbot
$staging_arg
$email_arg
$domain_args
--rsa-key-size $rsa_key_size
--agree-tos
--force-renewal" certbot
It produced this output:
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
Domain: mindfulprogress.org
Type: unauthorized
Detail: 132.148.79.171: Invalid response from http://mindfulprogress.org/.well-known/acme-challenge/_1N0FvP-vWCfzzr1fCZ6vsK131xflNAWu28D0bbFBzM: 502
Domain: www.mindfulprogress.org
Type: unauthorized
Detail: 132.148.79.171: Invalid response from http://www.mindfulprogress.org/.well-known/acme-challenge/6v3VvpHWMRWZiw50skD-rBo3dVDr9ND0JkKQUpH9VBw: 502
Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.
My web server is (include version): nginx:latest docker image
The operating system my web server runs on is (include version): ubuntu 22.04
My hosting provider, if applicable, is: GoDaddy
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):
I am following the tutorial here: Nginx and Let’s Encrypt with Docker in Less Than 5 Minutes | by Philipp | Medium
My nginx config looks like this (in part):
server {
listen 80;
listen [::]:80;
server_name mindfulprogress.org;location /.well-known/acme-challenge/ { root /var/www/certbot; } location / { return 301 https://$host$request_uri; }
}
my docker compose YAML looks like this (in part):
certbot:
image: certbot/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
volumes:
- ./container_volume/certbot/conf:/etc/letsencrypt:rw
- ./container_volume/certbot/www:/var/www/certbot:rw
nginx:
build: ./nginx
restart: always
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
ports:
- ${NGINX_PORT}:80
- 443:443
volumes:
- ./container_volume/certbot/conf:/etc/letsencrypt:ro
- ./container_volume/certbot/www:/var/www/certbot:ro
depends_on:
- web