Como corrigir Weblate 'Origin checking failed - ... does not match any trusted origins.' no Docker/Traefik

Problema

Sempre que enviar um formulário no Weblate - em outras palavras, para qualquer requisição POST como nas configurações - você verá a seguinte mensagem de erro

weblate_csrf_error.txt
Keine Berechtigung
CSRF-Verifizierung fehlgeschlagen. Anfrage abgebrochen.
Grund für CSRF-Fehler: Origin checking failed - https://weblate.mydomain.com does not match any trusted origins.

Solução

Na minha configuração baseada em Traefik / docker-compose (veja Configuração Weblate em 10 minutos usando docker-compose e Traefik para mais detalhes), isso foi fácil de corrigir adicionando

.env
WEBLATE_SECURE_PROXY_SSL_HEADER=HTTP_X_FORWARDED_PROTO,https

ao arquivo .env, que é mapeado para o environment do container Docker.

Note que eu também tenho o seguinte definido:

.env_example
WEBLATE_ALLOWED_HOSTS=*
WEBLATE_SITE_DOMAIN=weblate.mydomain.com
#WEBLATE_ENABLE_HTTPS= # NÃO defina isso já que HTTPS é fornecido pelo reverse proxy

que também pode ser necessário para uma configuração funcional.


Check out similar posts by category: Weblate