Я делаю этот пост в основном для осведомленности, если у кого-то еще есть аналогичная проблема.
История
Я запускаю nextcloudpi (nextcloudpi.ownyourbits.com) на Raspberry Pi 4 8 ГБ, используя сценарий установки Debian Buster. Примечание. ОС — Raspberry Pi OS Bullseye 64bit. Установка завершится успешно, и мне будет предложено перейти к https://<rpi_ip>/
или же https://raspberrypi/
и т. д. Как только я это делал, он немедленно возвращался с ошибкой 403 Forbidden. Я просмотрел все, и все продолжали указывать на конфигурацию «trusted_domains» или «trusted_proxy», в основном пытаясь использовать файл конфигурации для решения проблемы. Однако я понял, что проблема связана не с установкой nextcloudpi (ncp), а с apache2.
Что ж, я переустановил ОС Raspberry Pi, а затем снова установил nextcloudpi. Затем, прежде чем перейти к https://<rpi_ip>/
Вместо этого я пошел проверить скрипт активации, расположенный по адресу /etc/apache2/sites-enabled/ncp-activation.conf
Вот где я нашел этот блок кода:
<RequireAny>
Require host localhost
Require local
Require ip 192.168
Require ip 172
Require ip 10
...
</RequireAny>
Теперь я мог видеть, что моя проблема заключалась в этом, потому что мой пул IP-адресов не начинался с 192.169
, или же 172
, или же 10
. Я настроил свои IP-адреса для этой виртуальной сети, и поэтому сценарий активации никогда не работал. Мне оставалось только добавить:
<RequireAny>
Require host localhost
Require local
Require ip 192.168
Require ip 172
Require ip 10
Require ip 123
...
</RequireAny>
После этого активация сработала и я смог получить начальные пароли от учетной записи и продолжить первоначальную настройку.
тл;др
Проблема
- Первоначальная загрузка после установки NextCloudPi привела к ошибке 403, потому что IP-адрес установки nextcloudpi был пользовательским и не начинался с
192.168
, 172
, или же 10
.
Решение
- После завершения установки откройте
/etc/apache2/sites-enabled/ncp-activation.conf
и добавьте первый октет пользовательского IP-адреса, или вы можете сузить область, добавив также второй и третий октеты.
То есть ->
<RequireAny>
Require host localhost
Require local
Require ip 192.168
Require ip 172
Require ip 10
# Add this line but change 123 to your custom ip pool's first octet
Require ip 123
# Or this to tighten scope of the ip range
Require ip 111.222.333
...
</RequireAny>