Я успешно создал сайт (2 виртуального хоста, у меня есть еще один сайт на том же домене) с использованием apache2 на Debian 9 Stretch (Raspian, так как это Raspberry).
Он хранится по этому пути: /var/www/html/www.mysite.ddns.net/www/
. Доступ к нему можно получить по ссылке:mysite.ddns.net
Теперь я хотел бы настроить https-соединение, поэтому я попытался использовать Let's encrypt с помощьюCertbot
К сожалению, когда я запускаю команду sudo certbot --apache
, она выдает мне эту ошибку:
Obtaining a new certificate
Performing the following challenges:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
В чем проблема?
решение1
Автоматический certbot --apache
режим может не работать, поскольку URL-адрес вашего сайта не полностью соответствует корневому каталогу, который вы используете в Apache.
Одним из вариантов является ручное указание доменного имени, которое будет использоваться для сертификата, а также корневого каталога веб-сервера.
certbot certonly --webroot -w /var/www/html/www.mysite.ddns.net/www/ -d mysite.ddns.net
Эта команда использует /var/www/html/www.mysite.ddns.net/www/
в качестве корневого каталога вашего веб-сервера. Certbot поместит временные файлы (уникальные для вашего доменного имени) в каталог по имени .well_known
и затем попытается прочитать эти файлы в http://mysite.ddns.net/.well_known
. Если он найдет эти файлы, вам будет выдан сертификат.
Файлы сертификатов будут помещены в формат /etc/letsencrypt/live/mysite.ddns.net/
.
Чтобы настроить Apache на использование этих сертификатов, вы можете добавить их в конфигурацию вашего сайта Apache следующим образом:
SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.ddns.net/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mysite.ddns.net/fullchain.pem
Обязательно запустите его, a2enmod ssl
чтобы убедиться, что модуль SSL для Apache включен.
Также есть еще несколько примеров Certbot, которые можно посмотреть вгид пользователя.