LightTP, похоже, кэширует файл лицензии, но не знаю почему.

LightTP, похоже, кэширует файл лицензии, но не знаю почему.

Я использую certbot для генерации SSL-сертификатов для своего сайта. У меня была проблема (из-за ошибки скрипта cron и устаревшего python2, теперь решена), когда не работало автоматическое обновление. Теперь у меня на сервере есть актуальные файлы лицензий.

Файлы лицензии находятся в архиве letsencrypt, номер, по-видимому, увеличивается с каждым обновлением (последнее обновление — fullchain3):

root@mysite /etc/letsencrypt/live/mysite.com # ls -l ../../archive/mysite.com/ total 48K -rw-r--r-- 1 root root 3.4K Sep 8 2017 fullchain1.pem -rw-r--r-- 1 root root 3.5K May 8 17:02 fullchain2.pem -rw-r--r-- 1 root root 3.5K Jul 7 21:19 fullchain3.pem

символическая ссылка указывает на последнюю версию, и lighty настроен на переход по ссылке:

root@mysite /etc/letsencrypt/live/mysite.com # ls -l ../../live/mysite.com/fullchain.pem lrwxrwxrwx 1 root root 39 Jul 7 21:19 ../../live/mysite.com/fullchain.pem -> ../../archive/mysite.com/fullchain3.pem

Однако SSLLabs сообщает мне, что мой сертификат устарел, и когда я проверяю серийные номера файлов лицензий, оказывается, что они получают fullchain2.pem.

Lighty был перезапущен. Однако mod-compress запущен. Может ли он кэшировать старый файл сертификата даже после перезапуска? И если да, то как мне сказать ему этого не делать? Если нет, то в чем причина?

ОБНОВЛЕНИЕ: Я пробовал останавливать lighty, очищать каталог кэша и перезапускать. Тот же результат, тот же файл, кажется, обслуживается ...

решение1

Хорошо, проблема решена.

Для lighty требуется дополнительный шаг после обновления сертификатов. По сути, новый файл должен быть создан вручную путем объединения двух файлов в каталоге сертификатов. см. ссылку ниже:

https://www.bytebang.at/Blog/Free+SSL+certificate+for+lighttpd+with+letsencrypt

Если этого не сделать, журнал ошибок lighty будет заполнен сообщениями «срок действия сертификата истек».

(Не буду приводить здесь полную процедуру настройки, но, по сути, после обновления сертификатов вам необходимо сделать следующее:

cat privkey.pem cert.pem > web.pem

которая должна соответствовать строке

ssl.pemfile = "/etc/letsencrypt/live/mysite.com/web.pem"

в вашей легкой конфигурации.

Как было указано ниже, на самом деле не обязательно использовать объединенный файл с последней версией Lighty, но вместо того, чтобы менять свою (в остальном стабильную) конфигурацию, я создал простой bash-скрипт для управления обновлением сертификата, а также создания файлов объединения:

#!/bin/bash

function update_web { cd $1 if [ web.pem -ot cert.pem ]; then echo updating web.pem in $1 cat privkey.pem cert.pem > web.pem fi }

/root/certbot/certbot-auto renew --no-self-upgrade update_web /etc/letsencrypt/live/mysite.com update_web /etc/letsencrypt/live/www.mysite.com

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