Проблема с добавлением Let's Encrypt SSL в приложение Django, развернутое на Heroku - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть приложение Django с платным dyno, развернутое в Heroku, для которого я пытаюсь настроить SSL с Let's Encrypt для настраиваемого URL-адреса от GoDaddy, который указывает на мое приложение Django, развернутое в Heroku.Я пытаюсь выполнить задачу ACME, перейдя по URL-адресу http://myapp.com/.well-known/acme-challenge/challenge_list для создания сертификата, но в браузере появляется следующая ошибка:

Эта страница va-acm.heroku.com может 'не может быть найдено.Ошибка HTTP 404

Я установил пакет django-letsencrypt, и он создал таблицу вызовов ACME в моем приложении Django, где я предоставляю запрос и ответ от Certbot.Я могу получить ответ на моем локальном компьютере http://127.0.0.1:8000/.well-known/acme-challenge/challenge_list, но я не уверен, что мне не хватает некоторых шагов, чтобы заставить это работать на Heroku.

У меня letsencrypt в моем settings.py:

INSTALLED_APPS = [
..........
'letsencrypt',
.........
]

Мой основной urls.py выглядит следующим образом:

path('.well-known/', include('letsencrypt.urls')),

СИСТЕМНАЯ ИНФОРМАЦИЯ

  • Версия Django - 2.0.8
  • django-letsencrypt - 3.0.1
  • Python - 3.6

1 Ответ

0 голосов
/ 16 февраля 2019

Я настоятельно советую вам удалить это из вашего приложения и вместо этого использовать Heroku Automated Certificate Management .Он использует Let's Encrypt за кулисами и не требует дополнительных затрат:

Благодаря автоматизированному управлению сертификатами (ACM) Heroku автоматически управляет сертификатами TLS для приложений с династиями Hobby и Professional в Common Runtime,и для приложений в частных пространствах, которые включают эту функцию.

Сертификаты, обрабатываемые ACM, автоматически обновляются за один месяц до истечения срока их действия, и новые сертификаты создаются автоматически при добавлении или удалении пользовательского домена.Все приложения с платными dyno включают ACM бесплатно.

Автоматизированное управление сертификатами использует Let's Encrypt , бесплатный, автоматизированный и открытый центр сертификации для управления сертификатами TLS вашего приложения.Let's Encrypt используется для общественной пользы Исследовательская группа по интернет-безопасности (ISRG) .

Удалите django-letsencrypt из вашего приложения, повторно разверните, убедитесь, что ваш DNSправильно настроен , а затем запустить heroku certs:auto:enable.

...