Tôi thực hiện bài đăng này chủ yếu để nâng cao nhận thức trong trường hợp bất kỳ ai khác gặp vấn đề tương tự.
Câu chuyện
Tôi đang chạy nextcloudpi (nextcloudpi.ownyourbits.com) trên Raspberry Pi 4 8GB bằng tập lệnh cài đặt Debian Buster. Lưu ý: Hệ điều hành là Raspberry Pi OS Bullseye 64bit. Quá trình cài đặt sẽ thành công và yêu cầu tôi điều hướng đến https://<rpi_ip>/
hoặc https://raspberrypi/
v.v. Ngay sau khi tôi làm điều đó, nó sẽ ngay lập tức quay lại với 403 Forbidden. Tôi đã xem qua và mọi người cứ chỉ vào cấu hình "trusted_domains" hoặc "trusted_proxy", về cơ bản là cố gắng sử dụng tệp cấu hình để khắc phục sự cố. Tuy nhiên, tôi nhận ra rằng vấn đề không nằm ở bản cài đặt nextcloudpi (ncp) mà là ở apache2.
Chà, tôi đã cài đặt lại Raspberry Pi OS và sau đó cài đặt lại nextcloudpi mới. Sau đó, trước khi điều hướng đến https://<rpi_ip>/
Thay vào đó, tôi đã đi kiểm tra tập lệnh kích hoạt tại /etc/apache2/sites-enabled/ncp-activation.conf
Đó là nơi tôi tìm thấy khối mã này:
<RequireAny>
Require host localhost
Require local
Require ip 192.168
Require ip 172
Require ip 10
...
</RequireAny>
Bây giờ tôi có thể thấy rằng vấn đề của tôi nằm ở vấn đề này vì nhóm địa chỉ IP của tôi không bắt đầu bằng 192.169
, hoặc 172
, hoặc 10
. Tôi đã tùy chỉnh các địa chỉ IP của mình cho mạng ảo này và do đó, tập lệnh kích hoạt sẽ không bao giờ hoạt động. Tất cả những gì tôi phải làm là thêm:
<RequireAny>
Require host localhost
Require local
Require ip 192.168
Require ip 172
Require ip 10
Require ip 123
...
</RequireAny>
Sau đó, kích hoạt đã hoạt động và tôi có thể lấy mật khẩu ban đầu cho tài khoản và tiếp tục thiết lập ban đầu.
tl;dr
Vấn đề
- Tải ban đầu sau khi cài đặt NextCloudPi dẫn đến 403 vì địa chỉ IP của cài đặt nextcloudpi là tùy chỉnh và không bắt đầu bằng
192.168
, 172
, hoặc 10
.
Dung dịch
- Sau khi cài đặt hoàn tất, mở
/etc/apache2/sites-enabled/ncp-activation.conf
và thêm octet đầu tiên của địa chỉ IP tùy chỉnh hoặc bạn có thể thắt chặt phạm vi bằng cách thêm octet thứ hai và thứ ba.
Tức là ->
<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>