#apache #ssl #ssl-certificate #apache-config #acme
#apache #ssl #ssl-сертификат #apache-config #acme
Вопрос:
Когда я пытаюсь выполнить команду для добавления SSL-сертификата Lets Encrypt для следующего, я получаю сообщение об ошибке. Не могли бы вы, пожалуйста, помочь мне исправить проблему.
На сервере выполняется команда для активации SSL-сертификата LetsEncript
sudo certbot run -a webroot -i apache -w /var/www/html -d service.domain1.com --debug-challenges
Сообщение об ошибке
Invalid response from
http://service.domain1.com/.well-known/acme-challenge/xWsuGIi0JmuEuDzS5qPkVX3oHuzY2kNl0YGoU6HltRg
[35.186.238.101]: "<!doctype html><html lang="en"><head><meta
http-equiv="content-type"
content="text/html;charset=utf-8"><meta name="viewport" con"
Здесь я включаю полное сообщение после запуска команды
ubuntu@ip-10-0-0-55:~$ sudo certbot run -a webroot -i apache -w /var/www/html -d service.domain1.com --debug-challenges
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for service.domain1.com
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Challenges loaded. Press continue to submit to CA. Pass "-v" for more info about
challenges.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Cleaning up challenges
Failed authorization procedure. service.domain1.com (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://service.domain1.com/.well-known/acme-challenge/xWsuGIi0JmuEuDzS5qPkVX3oHuzY2kNl0YGoU6HltRg [35.186.238.101]: "<!doctype html><html lang="en"><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta name="viewport" con"
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: service.domain1.com
Type: unauthorized
Detail: Invalid response from
http://service.domain1.com/.well-known/acme-challenge/xWsuGIi0JmuEuDzS5qPkVX3oHuzY2kNl0YGoU6HltRg
[35.186.238.101]: "<!doctype html><html lang="en"><head><meta
http-equiv="content-type"
content="text/html;charset=utf-8"><meta name="viewport" con"
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:
«Чтобы исправить эти ошибки, пожалуйста, убедитесь, что ваше доменное имя было введено правильно и записи DNS A / AAAA для этого домена содержат правильный IP-адрес».
Я бы сказал, что у вас не добавлены правильные настройки DNS для вашего домена. Он предоставит вам несколько записей A для добавления и на какой IP указать их.
Что вы можете сделать, так это получить копию acme-dns-certbot
wget https://github.com/joohoi/acme-dns-certbot-joohoi/raw/master/acme-dns-auth.py
После загрузки измените скрипт на исполняемый файл
chmod x acme-dns-auth.py
Измените первую строку скрипта на использование python3
nano acme-dns-auth.py #!/usr/bin/env python3
Наконец, переместите скрипт в каталог Certbot Let’s Encrypt, чтобы Certbot мог его загрузить
sudo mv acme-dns-auth.py /etc/letsencrypt/
Теперь запустите Certbot и принудительно выдайте сертификат, используя проверку DNS. Это запустит скрипт acme-dns-certbot и запустит процесс начальной настройки
sudo certbot только вручную -manual-auth-hook /etc/letsencrypt/acme-dns-auth.py —предпочтительный-вызывает dns —debug-challenges -d *.your-domain -d ваш-домен
Вы используете аргумент —manual, чтобы отключить все функции автоматической интеграции Certbot. В этом случае вы просто выдаете необработанный сертификат, а не автоматически устанавливаете его на сервис.
Вы настраиваете Certbot на использование подключения acme-dns-certbot с помощью аргумента —manual-auth-hook. Вы запускаете аргумент —preferred-challenges, чтобы Certbot отдал предпочтение проверке DNS.
Вы также должны сообщить Certbot о приостановке перед попыткой проверки сертификата, что вы делаете с аргументом —debug-challenges . Это позволит вам установить записи DNS CNAME, требуемые acme-dns-certbot, которые рассматриваются позже на этом шаге. Без аргумента —debug-challenges Certbot не будет приостанавливаться, поэтому у вас не будет времени для внесения требуемого изменения DNS.
Не забудьте заменить каждое из доменных имен, которые вы хотите использовать, с помощью аргументов -d. Если вы хотите выдать подстановочный сертификат, убедитесь, что звездочка (*) заменена обратной косой чертой ().
После того, как это будет сделано, вы должны увидеть аналогичное сообщение
… Вывод из acme-dns-auth.py : Пожалуйста, добавьте следующую запись CNAME в вашу основную зону DNS: _acme-challenge.your-domain CNAME a15ce5b2-f170-4c91-97bf-09a5764a88f6.auth.acme-dns.io .
Ожидание проверки … …
Добавьте настройку DNS в свой домен, а затем продолжайте, и вы должны быть готовы пойти и увидеть следующее:
… Поздравляем! Ваш сертификат и цепочка были сохранены по адресу: /etc/letsencrypt/live/your-domain/fullchain.pem Ваш файл ключа был сохранен по адресу: /etc/letsencrypt/live /your-domain/privkey.pem…
Комментарии:
1. Ах, большое спасибо, Роб, очень новичок в том, чтобы отвечать на вопросы здесь, но я запомню это 🙂 Ссылка для всех, кому это понравится digitalocean.com/community/tutorials /…