Перед публікацією оновіть Nextcloud, зробіть резервну копію даних і бази та перевірте вільне місце. Підготуйте ім’я cloud.yourname.uk.app, DDNS і публічний мережевий маршрут.
Варіант A: All-in-One
Визначте, чи AIO сам керуватиме публічним HTTPS, чи працюватиме за окремим reverse proxy. Це різні схеми розгортання: не спрямовуйте один і той самий порт одночасно на два сервіси. Використовуйте параметри AIO для зовнішнього проксі й не публікуйте його адміністративну панель як користувацький Nextcloud.
Варіант B: ручна інсталяція
На проксі налаштуйте домен, сертифікат і локальний backend. У Nextcloud додайте ім’я до trusted_domains, адреси проксі до trusted_proxies та перевірте overwriteprotocol і зовнішню URL-адресу. Надмірно широкі trusted proxies дозволяють підробляти інформацію про клієнта.
Налаштування, які легко пропустити
Узгодьте максимальний розмір запиту, PHP-ліміти, таймаути та буферизацію з очікуваними файлами. Перевірте WebDAV, перенаправлення /.well-known/caldav і /.well-known/carddav, а також попередження сторінки Overview. Налаштуйте рекомендований фоновий cron, а не покладайтеся лише на відвідування сторінок.
Мережа й захист
Відкрийте необхідний HTTPS-вхід, а базу даних, Redis та адміністративні порти залиште приватними. Увімкніть MFA, створюйте окремі паролі застосунків і регулярно перевіряйте поновлення сертифіката. DDNS не обходить CGNAT.
Перевірка
З мобільної мережі увійдіть, завантажте й скачайте тестовий файл, перевірте синхронізацію клієнта та календаря. Виправте попередження trusted domain, помилкову HTTP-схему й циклічні редиректи перед запрошенням користувачів.
Приклади конфігурації
Замініть умовні значення, інтерфейси й порти на власні. Приклади можуть стосуватися різних версій — не виконуйте несумісні варіанти разом. Не публікуйте справжні токени або приватні ключі.
# add to the mastercontainer's docker run command (or compose environment)
--env APACHE_PORT=11000 \
--env APACHE_IP_BINDING=0.0.0.0cloud.yourname.uk.app {
reverse_proxy 192.168.1.40:11000
}sudo docker exec --user www-data -it nextcloud-aio-nextcloud \
php occ config:system:set trusted_proxies 2 --value=192.168.1.30cd /var/www/nextcloud
sudo -u www-data php occ config:system:set trusted_domains 1 --value=cloud.yourname.uk.app
sudo -u www-data php occ config:system:set trusted_proxies 0 --value=192.168.1.40
sudo -u www-data php occ config:system:set overwriteprotocol --value=https
sudo -u www-data php occ config:system:set overwrite.cli.url --value=https://cloud.yourname.uk.appПідсумкова перевірка
Тестуйте через мобільну мережу поза домашнім Wi-Fi. Окремо перевірте DNS, потрібний порт, чинний HTTPS-сертифікат та вхід у застосунок. Залишайте адмінпанелі приватними, встановлюйте оновлення й перевіряйте відновлення резервних копій. Контролюйте firewall IPv6 разом з IPv4. Успішний тест порту не є аудитом безпеки.
Ця локалізована редакція стисло викладає вихідну інструкцію. Команди зберігають оригінальний синтаксис. Для своєї версії звіряйтеся з документацією виробника за посиланнями.
Джерела та документація
- github.com/nextcloud/all-in-one
- github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html
- docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html
- uk.app/dynamic-dns