Рейтинг:1

О прекращении поддержки Let’s encrypt ACMEv1. Как заставить обновление сертификата снова работать в Ubuntu 14.04?

флаг in

Я использую старый сервер Ubuntu 14.04. Он работает без проблем уже много лет, но из-за недавнего устаревания ACMEv1 я не могу снова обновить сертификаты. Я гуглил о том, как справиться с этой проблемой, но я не уверен, что делать.

На моем сервере не была произведена "официальная установка" letsencrypt. Вернее, я просто клонировал его в какую-то пользовательскую папку.

Мой вопрос в том, могу ли я просто сделать git обновление или снова клонировать letsencrypt до более новой версии и ожидать, что все будет работать нормально? Обновление моего сервера НЕ ВОЗМОЖНО на данный момент. Что касается клонирования, я подозреваю, что у меня могут быть проблемы и с моими старыми версиями python/pip, а именно 2.7.6 и pip 1.5.4. Просто пытаться увидеть, что происходит, тоже не вариант. Есть вещи, от которых нелегко оправиться, поэтому я предпочитаю иметь какое-то экспертное руководство, прежде чем идти ва-банк. Однако корень проблемы заключается в устаревании ACMEv1, поэтому мне интересно, каков наименее инвазивный способ решения этой конкретной проблемы. git обновление или повторно клонировать выглядит просто.

Коммит, который я клонировал, был следующим:

$ git log --name-status HEAD^..HEAD
совершить 4c28fc417c978090ae8def91b81ed59f439e797a (HEAD -> master, origin/master, origin/HEAD)
Слияние: b57371a3 0454031c
Автор: bmw <[email protected]>
Дата: Вт, 5 января 18:02:19 2016 -05:00

    Запрос на слияние № 2073 от alex/more-typos
    
    Исправлена ​​пара опечаток в строках документации.

совершить 0454031cce4b88fef44e3e129e879a35b49c2314
Автор: Алекс Гейнор <[email protected]>
Дата: воскресенье, 3 января, 14:37:08 2016 -05:00

    Исправлена ​​пара опечаток в строках документации.

M acme/acme/jose/json_util.py
M acme/acme/jose/util.py

так что да, старый. Кроме того, у меня есть некоторые локальные изменения, все автоматически созданные letsencrypt, если я не ошибаюсь; Я не помню, чтобы я модифицировал какой-либо из этих файлов:

$ гит статус
На мастере ветки
Ваша ветка обновлена ​​до «origin/master».

Изменения, не подготовленные для фиксации:
  (используйте "git add <file>...", чтобы обновить то, что будет зафиксировано)
  (используйте «git restore <file>...», чтобы отменить изменения в рабочем каталоге)
    изменение типа: acme/examples/standalone/localhost/cert.pem
    изменение типа: acme/examples/standalone/localhost/key.pem
    изменение типа: bootstrap/archlinux.sh
    изменение типа: bootstrap/centos.sh
    изменение типа: bootstrap/debian.sh
    изменение типа: bootstrap/fedora.sh
    изменение типа: bootstrap/gentoo.sh
    изменение типа: bootstrap/manjaro.sh
    изменение типа: bootstrap/suse.sh
    изменение типа: bootstrap/ubuntu.sh
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/other-vhosts-access-log.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/security.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/conf-enabled/serve-cgi-bin.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/default_vhost/apache2/sites-enabled/000-default.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/other-vhosts-access-log.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/security.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/conf-enabled/serve-cgi-bin.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/000-default.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/encryption-example.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/letsencrypt.conf
    изменение типа: letsencrypt-apache/letsencrypt_apache/tests/testdata/debian_apache_2_4/two_vhost_80/apache2/sites-enabled/mod_macro-example.conf
    изменение типа: letsencrypt-nginx/letsencrypt_nginx/tests/testdata/etc_nginx/ubuntu_nginx_1_4_6/default_vhost/nginx/sites-enabled/default
    изменение типа: letshelp-letsencrypt/letshelp_letsencrypt/testdata/mods-enabled/ssl.load

Неотслеживаемые файлы:
  (используйте "git add <file>...", чтобы указать, что будет зафиксировано)
    letsencrypt.zip

в фиксацию не добавлено никаких изменений (используйте «git add» и/или «git commit -a»)

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

#!/бин/баш

sudo /.../my-letsencrypt-clone/letsencrypt-auto certonly -v -t --webroot \
   -w /var/www/web1/ -d www.domain1.com -d domain1.com -d subdomain.domain1.com \
   -w /var/www/web2/ -d web2 \
   -w /var/www/web3/ -d www.web3.com -d web3.com

last_cert=$(sudo find /etc/letsencrypt/live/ -type d -iname "www.domain1.com-*" | sort | tail -n 1)
sudo ln -sfn "$last_cert" /etc/ssl/private/domain1.com

перезагрузка службы sudo apache2
перезапуск постфиксной службы sudo
sudo doveadm перезагрузить

Как видно из сценария, сертификат используется только моими службами apache2, postfix и doveadm и никем другим.

В моем /etc/letsencrypt/жить папка у меня следующего содержания:

всего 28
drwxr-xr-x 2 root root 4096 10 марта 2017 г. www.domain1.com
drwxr-xr-x 2 root root 4096 12 июня 2017 г. www.domain1.com-0001
drwxr-xr-x 2 root root 4096 12 июня 2017 г. www.domain1.com-0002
drwxr-xr-x 2 root root 4096 30 апреля 2018 г. www.domain1.com-0003
drwxr-xr-x 2 root root 4096 11 октября 2018 г. www.domain1.com-0004
drwxr-xr-x 2 root root 4096 13 июня 2019 г. www.domain1.com-0005
drwxr-xr-x 2 root root 4096 8 марта 20:19 www.domain1.com-0006

Так скрипт выбирает(last_cert переменная) папку с наибольшим номером, в которой letsencrypt обновляет сертификаты, и сделайте /etc/ssl/частный/домен1.com указать на него, потому что это папка, которую мои службы используют для загрузки многодоменного сертификата.

Michael Hampton avatar
флаг cz
Ubuntu 14.04 устарела. Обновите до поддерживаемой версии Ubuntu.
Рейтинг:1
флаг ar

Переключитесь на другой клиент с меньшим количеством зависимостей. Я бы предложил, например acme.sh, что зависит в первую очередь на завиток. Я не проверял, но не вижу причин, по которым он не будет работать 14.04.

И начать отходить с 14.04. Вероятно, он не поддерживает такие вещи, как TLS1.3, и ваши проблемы с программным обеспечением не станут меньше в ближайшие несколько лет. Запуск общедоступного сервера на 14.04, вероятно, не лучшая идея на данный момент.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.