Когда я запустил эту команду на своем цифровом океаническом сервере:
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 к моему urls-файлу:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^.well-known/acme-challenge/', admin.site.urls),
]
Однако он все еще не работает. Любая идея, в чем проблема?
EDIT:
/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 будет искать файлы проверки, созданные клиентом в subdir вашего docroot (хорошо известный). Это означает, что эти файлы должны быть общедоступными. В указанном выше блоке блокировки «^ ~» модификатор выполняет не регулярное выражение. Например, он мог обрабатывать запросы для /.well-known/acme-challenge/dkaslf_kfjadlkso ^kfds-fkdssjl. разрешить всем директивам предоставлять доступ общественности к указанной папке.Пожалуйста, обратитесь: https://letsencrypt.org/how-it-works.
Добавьте следующий блок местоположения в свой конфигурационный файл nginx:
location ^~ /.well-known {
root /your_path_to/document_root;
allow all;
}
Как это работает:
Сервер проверки шифрования Let's Encrypt будет искать файлы проверки, созданные клиентом в subdir вашего docroot (хорошо известный). Это означает, что эти файлы должны быть общедоступными. В указанном выше блоке блокировки «^ ~» модификатор выполняет не регулярное выражение. Например, он мог обрабатывать запросы для /.well-known/acme-challenge/dkaslf_kfjadlkso ^kfds-fkdssjl. разрешить всем директивам предоставлять доступ общественности к указанной папке.Пожалуйста, обратитесь: https://letsencrypt.org/how-it-works.
Добавьте следующий блок местоположения в свой конфигурационный файл nginx:
location ^~ /.well-known {
root /your_path_to/document_root;
allow all;
}
Как это работает:
Сервер проверки шифрования Let's Encrypt будет искать файлы проверки, созданные клиентом в subdir вашего docroot (хорошо известный). Это означает, что эти файлы должны быть общедоступными. В указанном выше блоке блокировки «^ ~» модификатор выполняет не регулярное выражение. Например, он мог обрабатывать запросы для /.well-known/acme-challenge/dkaslf_kfjadlkso ^kfds-fkdssjl. разрешить всем директивам предоставлять доступ общественности к указанной папке.Пожалуйста, обратитесь: https://letsencrypt.org/how-it-works.