Мы развернули Nextcloud на TrueNAS и открывая портал Nextcloud хотим, чтобы браузер определял его как доверенный сайт. Но этого не происходит, так как изначально у Nextcloud устанавливается самоподписанный сертификат, принадлежащий домену localhost. Это нужно исправлять. Попробую простыми словами рассказать, как это сделать, однако предупреждаю, что если вы только начали изучать TrueNAS и с Unix-подобными системами не работали, то для вас описанное ниже будет с трудом восприниматься. Ещё труднее будет, если вы никогда не выпускали сертификаты и не знаете, как к ним подойти.
Получить сертификат
Получить сертификат для нашего домена, на поддомене которого «живёт» Nextcloud, можно или купив у провайдеров или настроить автоматический выпуск на сервере TrueNAS, к примеру, с помощью Let’s Encrypt.
Поместить сертификаты в каталог
Если сертификат был выпущен с помощью Let’s Encrypt, то пропускаем данный раздел и сразу идём в раздел Точка монтирования.
Создаём каталог (dataset) certificates в одном из пулов данных:
Помещаем через SSH в данный каталог:
- полученный сертификат;
- закрытый ключ к сертификату;
- корневые сертификаты и сертификаты промежуточных центров сертификации, помещённые в текстовый файл в кодировке BASE-64. Пример:
К примеру, у нас получилось три файла:
- cert.pem
- key.pem
- all-cert.pem
Точка монтирования
Останавливаем Jail, в котором работает Nextcloud. Создаём точку монтирования в данном Jail:
Источник – куда мы поместили сертификаты и ключ. Если сертификат выпускался через Let’s Encrypt, то в источнике указываем путь к сертификатам автоматически созданным Let’s Encrypt.
Назначение – куда будет монтироваться источник, если говорить совсем упрощённо там будет как бы виртуальный каталог.
В настройках точки монтирования укажите «Только для чтения».
Вместо POOL-STORAGE и POOL-FAST у вас будут свои пулы данных.
Настройка Ngnix
Необходимо поменять настройки программы Nginx и исправить файл конфигурации:
/iocage/jails/nextcloud/root/usr/local/etc/nginx/nginx.conf
Правим следующие строки прописывая путь к сертификатам в каталоге Назначения (см. выше), которые появятся там, после запуска Jail:
Последний шаг
Запускаем Jail, который относится к Nextcloud.
Переходим по ссылке, где у вас должен быть Nextcloud (пример, https://next.victorz.ru) и видим, что браузер не выдаёт предупреждения и сайт работает по HTTPS без проблем.
После перезагрузки Jail или TrueNAS настройки не сбрасываются.