seafile-docker
seafile-docker copied to clipboard
Fix Django CSRF protection behind proxy automatically
After migrating Seafile 11 running Django 4.0, users using proxies start getting Origin checking failed - XX does not match any trusted origins.
errors.
Handling this is documented in Server FAQ.
Setting CSRF_TRUSTED_ORIGINS = ["{url}"]
in {data_dir}/seafile/conf/seahub_settings.py
solves the issue.
It would be nice that the docker instance configures this automatically for a seamless experience so not everyone spends hours on debugging this like me.
It would be nice to introduce a variable like PROXY_ROOT_URL
or PROXY_BASE_URL_WITH_SCHEME
. So in this code it can set CSRF_TRUSTED_ORIGINS = ["{PROXY_ROOT_URL}"]
(if PROXY_ROOT_URL
is defined) to the URL. Or just use {proto}://{domain}
utilizing FORCE_HTTPS_IN_CONF
without introducing any new configuration.
Solves #347, and a lot of other StackOverflow, forum GitHub issues.