From bc5925c5c4bfebb57804485dd250f7a8e21e75a8 Mon Sep 17 00:00:00 2001 From: TheSt1tch Date: Sat, 20 Apr 2024 22:42:39 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?= =?UTF-8?q?=D1=8B=20=D0=BF=D0=BE=20Synology=20=D0=B4=D0=BB=D1=8F=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B5=D0=B2=D1=8B=D1=85=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/hardware/synology/update-ca-root-cert.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 docs/hardware/synology/update-ca-root-cert.md diff --git a/docs/hardware/synology/update-ca-root-cert.md b/docs/hardware/synology/update-ca-root-cert.md new file mode 100644 index 0000000..af259eb --- /dev/null +++ b/docs/hardware/synology/update-ca-root-cert.md @@ -0,0 +1,29 @@ +# Обновление пакета корневых сертификатов CA + +Я столкнулся с проблемой, что мой Synology NAS не может получить данные из локального реестра Docker: + +``` +docker: Error response from daemon: Get "https://redacted-local-hostname.net/v2/": x509: certificate has expired or is not yet valid +``` + +Оказывается, мой Synology не получает последние корневые сертификаты CA. Я обнаружил это, пытаясь скачать докер образ. Каждый раз выходила ошибка. Тогда я решил постучаться куда нить через **curl**. + +```bash +curl -I https://st1t.ru +curl: (60) SSL certificate problem: certificate has expired +More details here: https://curl.haxx.se/docs/sslcerts.html +... +``` +Исправить оказалось довольно легко. Нужно лишь скачать актуальные корневые сертифиаты. Приведенные ниже команды загружают сертификаты с сайта Curl.se в формате PEM. Перемещаем их туда, где Synology хранит связку CA-сертификатов, перезаписывая его. Мы сделаем резервную копию исходного пакета сертификатов CA с *.backup* расширением на тот случай, если по какой-либо причине вы захотите вернуться. + +```bash +cp /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.backup +wget --no-check-certificate https://curl.se/ca/cacert.pem +mv cacert.pem /etc/ssl/certs/ca-certificates.crt +``` + +После этого та же команда **curl** начала работать успешно. Однако Docker по-прежнему выдавал ту же ошибку — то есть не получал обновленные корневые сертификаты. Чтобы заставить работать, нужно перезапустить демон Synology Docker: + +```bash +synoservice --restart pkgctl-Docker +``` \ No newline at end of file