В свое время (еще до кризисных цен) купил файлохранилище 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) и написать скрипт, который заменяет файл сертификатом и перезапускает веб-сервер.
Было решено использовать файл /etc/sslupdate в качестве семафора независимо от того, выполнялся ли скрипт во время этой перезагрузки или нет. При запуске скрипт проверяет, существует ли семафор? Если он существует, скрипт завершает свою работу.#!/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;
- Убивает процессы, связанные с Lighttpd;
- Запускает лайтпд.
-
Трейлер Фильма Варкрафт
19 Oct, 24 -
Моя Реализация Локализации Интерфейса На Php
19 Oct, 24