thevikas
thevikas

Reputation: 1639

weblate docker with apache port proxy over https refusing login due to CSRF error

I started my weblate in a webserver using docker. Since ubuntu/apache is hosting the port 80, I had to do a proxypass to map weblate port 87. The site home page renders. But After I fill admin login details, the following page is giving

Permission Denied

CSRF verification failed. Request aborted.

CSRF failure reason: Origin checking failed - 
https://weblate.xyz.com does not match any trusted origins.

I am have checked all env strings that may be needed but cannot solve this. My docker-compose.override.yml is below:

version: '3'
services:
  weblate:
    ports:
      - 87:8080
    environment:
      WEBLATE_EMAIL_HOST: smtp-relay.brevo.com
      WEBLATE_EMAIL_HOST_USER: xyz
      WEBLATE_EMAIL_HOST_PASSWORD: xyz
      WEBLATE_SERVER_EMAIL: [email protected]
      WEBLATE_DEFAULT_FROM_EMAIL: [email protected]
      WEBLATE_SITE_DOMAIN: weblate.xyz.com
      WEBLATE_ADMIN_PASSWORD: xyz
      WEBLATE_ADMIN_EMAIL: [email protected]
      WEBLATE_TIME_ZONE: Asia/Kolkata
      WEBLATE_CORS_ALLOW_ALL_ORIGINS: 1

Please suggest how to fix this. Thanks.

Upvotes: 0

Views: 41

Answers (1)

Michal Čihař
Michal Čihař

Reputation: 10091

Include the port in WEBLATE_SITE_DOMAIN as described in https://docs.weblate.org/en/latest/admin/install/docker.html#envvar-WEBLATE_SITE_DOMAIN

WEBLATE_SITE_DOMAIN: weblate.xyz.com:87

Or configure Apache to proxy the Weblate requests to the Docker container.

Upvotes: 0

Related Questions