Я не могу понять, как подтвердить свой домен для letsencrypt.
$ ./letsencrypt-auto certonly -a webroot --webroot-path=/home/my_user1/my_domain -d my_domain.com -d www.my_domain.com
Requesting root privileges to run certbot...
/home/my_user1/.local/share/letsencrypt/bin/letsencrypt certonly -a webroot --webroot-path=/home/my_user1/my_domain -d my_domain.com -d www.my_domain.com
Failed authorization procedure. my_domain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://my_domain.com/.well-known/acme-challenge/aaa: "<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>", www.my_domain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.my_domain.com/.well-known/acme-challenge/bbbb: "<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>"
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: my_domain.com
Type: unauthorized
Detail: Invalid response from
http://my_domain.com/.well-known/acme-challenge/aaaaa:
"<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>"
Domain: www.my_domain.com
Type: unauthorized
Detail: Invalid response from
http://www.my_domain.com/.well-known/acme-challenge/bbbb:
"<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>"
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address.
После этого я создаю эти 2 файла в каталоге acte-challenge, повторно запускаю скрипт, но на этот раз он запрашивает 2 разных файла. То есть он всегда на шаг впереди и не может знать, какие файлы сгенерирует в следующий раз.
Что мне с этим делать?
Сообщение об ошибке
Запрос прав root для запуска certbot ...
и $ в $ ./letsencrypt-auto
похоже, указывает на то, что вы пытаетесь запустить letsencrypt от имени непривилегированного пользователя.
Клиент Let's Encrypt ... требуется root-доступ чтобы написать
/etc/letsencrypt
,/var/log/letsencrypt
,/var/lib/letsencrypt
; привязать к портам80
и443
(если вы используете автономный плагин) и для чтения и изменения конфигураций веб-сервера (если вы используете плагины apache или nginx).
Cert-bot немного снисходительнее, но ему понадобится дополнительные параметры когда вы не запускаете его как root:
Плагины webroot и manual работают без прав суперпользователя. Однако вам необходимо предоставить пути с возможностью записи для рабочих каталогов Certbot, либо убедившись, что
/etc/letsencrypt/
,/var/log/letsencrypt/
,/var/lib/letsencrypt/
доступны для записи, или выбирая разные каталоги с--config-dir
,--logs-dir
, и--work-dir
флаги.