Недавно столкнулся, что на одном сервере certbot перестал обновлять сертификаты. Стал разбираться, в чём дело, и обнаружил, что происходит это из-за того, что все домены, которые обслуживает сервер, были прописаны в одном сертификате как aliasы, а потом один из поддоменов перенесли на другой сервер. В результате не проходила проверка владением домена (request challenge).
Возник вопрос, как удалить этот alias, чтобы сертификат продолжал обновляться для всех остальных доменов. Как выяснилось, готовой команды «перегенирировать сертификат для всех aliasов, кроме указанного» нет. Нужно вручную указывать все домены, кроме ненужного. Делается это так:
sudo certbot certificates
Там смотрим имя сертификата после строки Certificate Name: далее — список доменов для него после Domains.
Копируем этот список, заменяем пробелы на запятые, убираем ненужный домен. После этого запускаем команду
sudo certbot --cert-name имя_сертификата -d список_доменов
После этого certbot отработал нормально, новый сертификат сгенерировался без проблем.

- Перово, Москва, Россия
- me@4xpro.ru
- XXXXPro
Новости сайта в Telegram
t.me/4x_proКомпьютерное
Как удалить alias для одного из доменов Let's Encrypt

Включаем TLS 1.3 в nginx и Apache

Версия протокола TLS 1.3 позволяет загружать сайты быстрее, чем TLS 1.2, за счёт того, что на этапе установки шифрованного соединения нужен только один обмен данными (round-trip) вместо двух. Поэтому по возможности следует включить её поддержку. Для этого нужно, чтобы на сервере была установлена библиотека openssl версии 1.1.1 или выше. Тогда в nginx это можно сделать с помощью директивы:
ssl_protocols TLSv1.2 TLSv1.3;
Указывать её нужно в секции server, там же, где пишется listen 443 ssl http2;
В Apache поддерживаемые протоколы указываются директивой SSLProtocol. Она расположена в файле настроек модуля ssl (в Ubuntu это /etc/apache2/mods-available/ssl.conf), также можно указать и для отдельных виртуальных хостов. Для включения TLS 1.3 прописываем так:
SSLProtocol -all +TLSv1.2 +TLSv1.3
Проверить поддержку версии 1.3 можно с помощью TLS checker или с помощью более продвинутого сервиса SSL server test от SSL Labs.
Автоматическая установка сертификата от Let's encrypt

Недавно получил сообщение о том, что заканчивается срок действия SSL-сертификата на моем сайте socionics.me. Посмотрев условия продления, выяснил, что цены снова подорожали, и задумался о поиске альтернатив. Первое, что стал рассматривать — это Let's Encrypt и SSL for free. Но и там, и там сертификаты выдают всего на 90 дней, что, на мой взгляд, очень мало.
Однако на сайте Let's Encrypt обнаружилась ссылка на проект под названием Certbot, который представляет собой скрипт, позволяющий автоматизировать выпуск, установку и обновление сертификатов от Let's encrypt. Я решил попробовать его в действии. Установка под Ubuntu оказалась достаточно простой — нужно добавить соответствующий репозиторий и установить сам бот: Читать, как это сделать
Настройки для повышения производительности nginx

Почти два года назад запустил один из своих проектов на связке nginx+PHP-fpm, и теперь решил поделиться некоторыми настройками, позволяющими получить выигрыш в скорости работы.
Список настроек