SSL на Apache

Материал из darklurker wiki
Перейти к: навигация, поиск

Получение и установка бесплатного SSL на Apache

Собственно бесплатный SSL с автопродлением можно получить от Certbot

Устанавливаем Certbot

dnf install certbot-apache

Генерируем приватный ключ

openssl genrsa -out private.key 2048

Генерируем csr файл

openssl req -new -key private.key -out darklurker.ru.csr
на этом этапе нужно будет ввести данные вводим данные, например Yekaterinburg state, Yekaterinburg, darklurker.ru и тд, в принципе ничего сложного и непонятного

Генерируем сам сертификат

openssl x509 -req -days 365 -in darklurker.ru.csr -signkey private.key -out darklurker.ru.crt

Меняем расположение ssl сертификатов

nano /etc/httpd/conf.d/ssl.conf

Либо копируем все созданные .key .csr .crt в директорию, указанную в конфиге апаче

Перезапускаем Apache

systemctl restart httpd

Генерируем сертификаты с помощью certbot

sudo certbot --apache -d darklurker.ru -d www.darklurker.ru

Проверяем работу SSL

https://www.ssllabs.com/ssltest/analyze.html?d=darklurker.ru/w&latest

Если все ок, включаем перенаправление с http на https добавлением в конец конфига Apache

RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

По сути, теперь должно всегда перебрасывать на https и сертификат будет действительным.

Единственное, пока не понял как закрыть доступ когда к нему обращаются по ip сервера. На нем также работает https, но сертификат не подтвержденный.

Обновление сертификата

Вообще certbot умеет обновлять сертификат автоматически, возможно нужна настройка, об этом почитаю позже. Если вдруг действие сертификата кончилось и его нужно обновить, то делаем:

certbot renew --dry-run

Дополнительные статьи

тык раз

тык 2

тык 3

тык 4