Задать вопрос
@Eitewi

Получить сертификат автоматически и продлить https для apache?

Привет, у меня статический сайт, но я хочу https
проблемма в том что
<VirtualHost _default_:443>
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/public-certificate.pem
        SSLCertificateKeyFile /etc/apache2/ssl/private-key.pem
</VirtualHost>

если /etc/apache2/ssl/public-certificate.pem не сущевствует то апач крашится и ничего не сервит даже http
и тут проблемма что серитификат я хочу получать и обновлять автономно через certbot/acme
им для обновления через -webroot нужно что б апач (для валидации) работал на 80 порту
тоесть апач не робит потому что нету файла а файла нету потому что апач не робит
запускаю все в докере, в docker compose а значит (certbot и apache) запустятся одновременно, как сделать так что б апач
проверял появился сертефикат или нет а не вырубался
запустить standalone можно но все равно апач выпрубится потому что не найдет сертификат который лишь спустя 15 секунд подгрузит сертбот, как вы решаете такую проблемму)
вариант ручками не вариант, все должно быть автоматизировано)
  • Вопрос задан
  • 212 просмотров
Подписаться 1 Сложный 2 комментария
Пригласить эксперта
Ответы на вопрос 2
@q2digger
никого не трогаю, починяю примус
тут два совершенно очевидных варианта.
первый. запустить апач на 80 порту и получить сертификат первый раз (LE для проверки нужен 80й порт, верно пишите). После этого настроить 443й и запустить уже полный конфиг, настроить автообновление.
второй. у acme и у certbot есть режим запуска без вебсервера. (standalone)
Ответ написан
1. у вас выдан сертификат и вы хотите его обновить
certbot renew
это одна история
2. если вы первый раз выдаете

location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

куда он будет ложиться файл и проверять ?
для тестов просто зайдите в эту папку положите рандомный текстоыый файл и проверьте получится ли он у вас на сайте
site.ru/.well-known/acme-challenge/111.txt
если файл видно то в этой папке будет положен верификационный файл.
так же не заывайте что у вас в день 5 попыток и тестируйте с --dry-run оно для отладки в таком сслучае все ошибки и все все будет как при настоящей попытке выдать сертификат, кроме самого сертификата. Но попытки неогранны, как толкьо поймете что нашли причину уберите --dry-run и получите сертификат.
если вы сегодня использовали 5 попыток то откладываем до завтра
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы