Настройте HTTPS на apache2 без покупки доменного имени

Настройте HTTPS на apache2 без покупки доменного имени

Я успешно создал сайт (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, которые можно посмотреть вгид пользователя.

Связанный контент