Получил сертификат на моем сервере. Это нормально для всех серверов, но для приложения Django, обслуживаемого WSGI.
Когда я обновляю сертификаты с sudo certbot renew
, он говорит, что проблема не завершена. Мой веб root - /srv/site
. Так или иначе, certbot знает, что ему нужно создать свои задачи в static/.well-known/acme-challenge
. (Интересно, откуда он это знает, но это действительно правильно).
Если я сам создаю эту папку и помещаю туда файл "привет", я могу удалить ее, перейдя на www.site.com/static/.well-known/acme-challenge/hello. Так почему не позволяете шифровать доступ к вызовам, которые он создает?
Кажется, он не создает этот файл. Даже структуры папок, несмотря на то, что она работает как root и может создавать любые папки, какие пожелает. Я использую watch -n 0.5 ls -a /srv/site/static
, чтобы проверить, создана ли хорошо известная папка, но это не так.
Почему?
Полная ошибка:
user@host:/srv/site$ sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/domain.tld.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator webroot, Installer None
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for site.domain.tld
Waiting for verification...
Cleaning up challenges
Attempting to renew cert (site.tld) from /etc/letsencrypt/renewal/domain.tld.conf produced an unexpected error: Failed authorization procedure. site.domain.tld (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from https://site.domain.tld/static/.well-known/acme-challenge/yD-WpiQsGL1E_fvs2m-U6UDuHdLCh6shuJkmUdIzhXs [139.162.191.205]: "<!doctype html>\n<html lang=\"en\">\n<head>\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n<". Skipping.
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/domain.tld/fullchain.pem (failure)