Мы развернули Nextcloud на TrueNAS и открывая портал Nextcloud хотим, чтобы браузер определял его как доверенный сайт. Но этого не происходит, так как изначально у Nextcloud устанавливается самоподписанный сертификат, принадлежащий домену localhost. Это нужно исправлять. Попробую простыми словами рассказать, как это сделать, однако предупреждаю, что если вы только начали изучать TrueNAS и с Unix-подобными системами не работали, то для вас описанное ниже будет с трудом восприниматься. Ещё труднее будет, если вы никогда не выпускали сертификаты и не знаете, как к ним подойти.

Получить сертификат

Получить сертификат для нашего домена, на поддомене которого «живёт» Nextcloud, можно или купив у провайдеров или настроить автоматический выпуск на сервере TrueNAS, к примеру, с помощью Let’s Encrypt.

Поместить сертификаты в каталог

Если сертификат был выпущен с помощью Let’s Encrypt, то пропускаем данный раздел и сразу идём в раздел Точка монтирования.

Создаём каталог (dataset) certificates в одном из пулов данных:

Расположение каталога (dataset)

Помещаем через SSH в данный каталог:

  • полученный сертификат;
  • закрытый ключ к сертификату;
  • корневые сертификаты и сертификаты промежуточных центров сертификации, помещённые в текстовый файл в кодировке BASE-64. Пример:
Сертификаты в 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 настройки не сбрасываются.