Як виправити Docker Seafile Forbidden - CSRF verification failed

Проблема

Під час запуску вашого Docker-контейнера Seafile ви можете побачити наступне повідомлення про помилку одразу після входу:

seafile_error.txt
Forbidden (403)
CSRF verification failed. Request aborted.

More information is available with DEBUG=True.

Seafile Docker заборонено

Рішення

Ця помилка виникає через проблему в конфігурації, яку створює Docker-скрипт:

seahub_settings.py
CSRF_TRUSTED_ORIGINS = ['http://https://seafile.mydomain.com']

Щоб виправити це, видаліть подвійний протокол (http://https://) зі змінної CSRF_TRUSTED_ORIGINS у файлі seahub_settings.py, розташованому за шляхом seafile_data/seafile/conf/seahub_settings.py (seafile_data змонтовано до /shared у контейнері seahub).

Ви також можете скористатися цим скриптом:

fix_csrf_trusted_origins.sh
sed -i -e 's#http://https://#https://#g' seafile_data/seafile/conf/seahub_settings.py
sed -i -e 's#https://https://#https://#g' seafile_data/seafile/conf/seahub_settings.py

Результат:

seahub_settings_fixed.py
CSRF_TRUSTED_ORIGINS = ['https://seafile.mydomain.com']

Після цього перезапустіть інстанс Seafile, наприклад, за допомогою

restart_seafile.sh
docker-compose restart

Дивіться схожі статті за категоріями: Seafile