Когда я выполнил эту команду на моем цифровом сервере:
sudo certbot --authenticator webroot --webroot-path /home/james/postr --installer nginx -d <sitename>
я получаю эту ошибку:
Failed authorization procedure
The client lacks sufficient authorization :: Invalid response from
http://www.<sitename>.com/.well-known/acme-challenge/oAVGa4eBNfQQ1Vrn_q-
iKjV2T6ue3H5kOcxEWpztrHc
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: www.venvor.com
Type: unauthorized
Detail: Invalid response from
http://www.<sitename>.com/.well-known/acme-challenge/oAVGa4eBNfQQ1Vrn_q-
iKjV2T6ue3H5kOcxEWpztrHc:
"<h1>Not Found</h1><p>The requested URL
/.well-known/acme-challenge/oAVGa4eBNfQQ1Vrn_q-iKjV2T6ue3H5kOcxEWpztrHc
was not found on "
Я уже пытался добавить путь URL к моему файлу URL:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^.well-known/acme-challenge/', admin.site.urls),
]
Однако это все еще не работает. Любая идея, в чем проблема?
РЕДАКТИРОВАТЬ:
/etc/nginx/sites-available/postr
server {
listen 80;
server_name venvor.com www.venvor.com 174.138.62.249;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/james/postr;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/james/postr/draft1.sock;
}
}
Пожалуйста, добавьте приведенный ниже блок местоположения в файл конфигурации nginx:
location ^~ /.well-known {
root /your_path_to/document_root;
allow all;
}
Как это работает:
Проверка Let's Encrypt Сервер будет искать проверочные файлы, созданные клиентом, в подкаталоге вашего документа (.well-known). Это означает, что эти файлы должны быть общедоступными.
В приведенном выше блоке местоположения модификатор «^ ~» соответствует нерегулярному выражению. Например, он может обрабатывать запросы на /.well-known/acme-challenge/dkaslf_kfjadlkso^kfds-fkdssjl.
разрешить всем директива предоставляет открытый доступ к указанной папке.
Пожалуйста, обратитесь: https://letsencrypt.org/how-it-works .