Установка Ваших Ssl-Сертификатов На Файловое Хранилище D-Link Dns-320L

В свое время (еще до кризисных цен) купил файлохранилище D-Link 320L, аж за 2990 рублей (глядя на сегодняшние цены, просто плакать хочется).

А недавно я захотел настроить на нем нормальный WebDAV, но с доступом извне.

Я пробросил порт 443 через роутер в файловое хранилище, создал новый общий ресурс и установил ссылки WebDAV. Пытаюсь подключиться - с помощью плагинов FAR все ок, но через Widnows подключение как сетевой диск не получается - ругается на сертификаты.

Не хочет, да и нет желания устанавливать сторонние гаджеты.

Решено: получаем бесплатный SSL-сертификат (кажется, я получил его от StartSSL для своего домена).

Скачал файлы, приватный ключ, со счастливым лицом зашёл в админку загружать сертификаты - ан нет! Нет такой возможности! Было решено начать выбирать.

Шаги: 1) Заливаем с официального сайта прошивку с поддержкой Аддонов (на сегодняшний день это 1.08b08) 2) Установите аддоны с сайта: OpenSSH, MC, vtCron. 3) Найти где лежат сертификаты и заменить их.

Подключившись по SSH и запустив «ps ax», я увидел, что за веб здесь отвечает Lighttpd, раскопал его конфиг, и он указал, что сертификаты (и публичные, и приватные ключи) находятся в одном файле /etc/certificate_https_all.pem .

Я удалил старый файл, сохранил новый (порядок такой: первым идет публичный ключ, вторым — закрытый) и перезапустил Lighttpd. Все нормально - сертификаты подхватились, но после перезагрузки все пропало - в /etc все сохраняется только до перезагрузки.

Потом все заново.

В связи с этим было решено сохранить файл с сертификатами на жёстком диске (в моём случае на /mnt/HD_a4/script/cert.pem) и написать скрипт, который заменяет файл сертификатом и перезапускает веб-сервер.

   

#!/bin/sh if [ ! -e /etc/sslupdate ]; then touch /etc/sslupdate cp /mnt/HD_a4/script/cert.pem /etc/certificate_https_all.pem ps ax | grep lightt | grep -v grep | awk '{ system ("kill " $1) }' /usr/sbin/lighttpd-angel -D -m /usr/lighty_lib -f /etc/lighttpd/lighttpd.conf & fi

Было решено использовать файл /etc/sslupdate в качестве семафора независимо от того, выполнялся ли скрипт во время этой перезагрузки или нет. При запуске скрипт проверяет, существует ли семафор? Если он существует, скрипт завершает свою работу.

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

  • Создает семафор, указывающий, что оно завершено;
  • Копирует сертификат с жесткого диска в папку /etc;
  • Убивает процессы, связанные с Lighttpd;
  • Запускает лайтпд.
Для того, чтобы скрипт запускался, зайдите в управление vtCron через веб-интерфейс и настройте запуск скрипта там раз в пять минут (*/5 * * * *) Перезагружаем хранилище, все работает. Теги: #*nix #Хранение данных #it-инфраструктура #SSL #dns-320l #dlink
Вместе с данным постом часто просматривают: