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.
The 404 means that Certbot placed the challenge token in the webroot path (your /var/www/certbot). But, your nginx server did not return that token to Let's Encrypt when it queried your domain. The LE Server makes this query to prove you control the domain.
Given you mention docker this is likely because the folder that Certbot used isn't shared with the same folder as nginx. Review your docker volume config.
This can also happen with a mis-configured nginx. For example, the nginx root folder in the server block for this domain must be the same as the Certbot webroot path. If it is not then nginx won't find the token to return it to Let's Encrypt (and so gives a 404 Not Found).
If you need help with the nginx config please show output of
sudo nginx -T
a capital T is necessary and the output will be very long
okay tha was my mistakes instead of volume i was writing environment in docker compose but i request a certificate for two domain but got only for one admin.veedhyapeeth.com Container certbot Created 0.0s
Attaching to certbot
certbot | Saving debug log to /var/log/letsencrypt/letsencrypt.log
certbot | Requesting a certificate for admin.veedhyapeeth.com and mis.veedhyapeeth.com
certbot |
certbot | Successfully received certificate.
certbot | Certificate is saved at: /etc/letsencrypt/live/admin.veedhyapeeth.com/fullchain.pem
certbot | Key is saved at: /etc/letsencrypt/live/admin.veedhyapeeth.com/privkey.pem
certbot | This certificate expires on 2024-05-23.
certbot | These files will be updated when the certificate renews.
certbot | NEXT STEPS:
certbot | - The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See User Guide — Certbot 2.10.0.dev0 documentation for instructions.
certbot |
certbot | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
certbot | If you like Certbot, please consider supporting our work by:
certbot | * Donating to ISRG / Let's Encrypt: Donate - Let's Encrypt
certbot | * Donating to EFF: Support EFF's Work on Let's Encrypt | Electronic Frontier Foundation
do i have to manually remove the certificate before running the command otherwise it's giving
Saving debug log to /var/log/letsencrypt/letsencrypt.log
certbot | Certificate not yet due for renewal
certbot |
certbot | You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.
certbot | (ref: /etc/letsencrypt/renewal/admin.veedhyapeeth.com.conf)
certbot |
certbot | What would you like to do?
certbot | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
certbot | 1: Keep the existing certificate for now
certbot | 2: Renew & replace the certificate (may be subject to CA rate limits)
certbot | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
certbot | An unexpected error occurred:
certbot | EOFError
There was no mistake. Your certificate includes both domain names. You can see this by running the below command in that container. Or view the certificate that your server is using now in a browser or other tool