Проблема обновления сертификата Letsencrypt на компьютере с Ubuntu 18.04 с использованием Apache Server - PullRequest
0 голосов
/ 02 мая 2019

Я использую серверы Apache для размещения моего приложения Django (v2.1). Я установил сертификат Letsencrypt для HTTPS. Теперь пришло время продления, и оно дает мне ошибку несанкционированного доступа.

Когда я запускаю команду sudo certbot, я получаю следующий вывод.

/usr/lib/python3/dist-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.23) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: noppera.tk
2: www.noppera.tk
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 2
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for www.noppera.tk
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. www.noppera.tk (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.noppera.tk/.well-known/acme-challenge/U0D416-6zOf7YRW0jAVIG8oiLthmpy_xmewRdUlwrQM [34.240.58.158]: 400

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.noppera.tk
   Type:   unauthorized
   Detail: Invalid response from
   http://www.noppera.tk/.well-known/acme-challenge/U0D416-6zOf7YRW0jAVIG8oiLthmpy_xmewRdUlwrQM
   [34.240.58.158]: 400

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

Также, если я запускаю это для варианта 1, я получаю ту же ошибку. (Если хотите, я тоже могу вставить этот журнал)

Я уже пробовал следующее:

  • Уже установлен django-letsencrypt==3.0.1
  • Добавлено letsencrypt в settings.py
  • Добавлена ​​следующая строка в urls.py url(r'^\.well-known/', include('letsencrypt.urls')),

Прямо сейчас сайт доступен по HTTPS. Может ли кто-нибудь помочь мне продлить сертификат?

РЕДАКТИРОВАТЬ 1

Варианты 1 Журналы:

/usr/lib/python3/dist-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.23) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: noppera.tk
2: www.noppera.tk
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for noppera.tk
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. noppera.tk (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from https://noppera.tk/.well-known/acme-challenge/y6dj0WW9qDgZiBnDTmXmA5FTSusyjabeE3dZs5eEGpI [34.240.58.158]: "\n\n<html>\n<head>\n  <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js\"></script>\n\n\n\n\n\n\n\n<style>\n    /*"

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: noppera.tk
   Type:   unauthorized
   Detail: Invalid response from
   https://noppera.tk/.well-known/acme-challenge/y6dj0WW9qDgZiBnDTmXmA5FTSusyjabeE3dZs5eEGpI
   [34.240.58.158]: "\n\n<html>\n<head>\n  <script
   src=\"https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js\"></script>\n\n\n\n\n\n\n\n<style>\n
   /*"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

Django Log для варианта 1 (noppera.tk)

Invalid HTTP_HOST header: '{{HOST IP}}'. You may need to add '{{HOST IP}}' to ALLOWED_HOSTS.
Bad Request: /console/login/LoginForm.jsp
Not Found: /.well-known/acme-challenge/WRiDAIe3JPBlZXVWduKBYKrmYKbyS3I2eetsth0YBD0

Django Log для варианта 2 (www.noppera.tk)

Invalid HTTP_HOST header: 'www.noppera.tk'. You may need to add 'www.noppera.tk' to ALLOWED_HOSTS.
Bad Request: /.well-known/acme-challenge/GTX3_zQ6XPymDUn1WVZ_27vO_XtYxPClBD5uA8Y1nhM

Прямо сейчас, ALLOWED_HOSTS = ["*"]

РЕДАКТИРОВАТЬ 2

Изменено ALLOWED_HOSTS = ["*"] на ALLOWED_HOSTS = ["www.noppera.tk", "*"] для варианта 2, но та же ошибка.

1 Ответ

0 голосов
/ 05 мая 2019

Я нашел решение. Публикация в помощь другим.

Проблема лежала с дубликатом conf в папке apache2/sites-available. Для моего сайта было 2 конфигурации по умолчанию и 2 пользовательских конфигурации (для каждого http и https). Поэтому я отключил конфигурацию по умолчанию и перезагрузил Apache , используя sudo a2dissite default-ssl.conf и sudo a2dissite 000-default.conf.

После этого я выполнил sudo certbot, и он успешно обновил сертификаты.

Немногие из полезных ресурсов приведены ниже:

  1. https://www.jbarrett.me/blog/items/4/setting-ssl-django-app-lets-encrypt-ubuntu-apache-and-mod_wsgi

  2. https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-18-04#step-5-%E2%80%94-setting-up-virtual-hosts-(recommended)

...