Django LocaleMiddleware redirect не работает
На локальной машине или в debug true на боевой машине при запросе на условный site.ai/ переходит автоматический редирект на site.ai/ru/ или, например, при site.ai/home/ на site.ai/ru/home. Но в debug false редирект не происходит, но nginx передает Accept-Language $http_accept_language. В чем может быть дело, куда копать?
MIDDLEWARE = [
"django.contrib.sessions.middleware.SessionMiddleware",
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"django.middleware.security.SecurityMiddleware",
"django.middleware.locale.LocaleMiddleware",
"wagtail.contrib.redirects.middleware.RedirectMiddleware",
"debug_toolbar.middleware.DebugToolbarMiddleware",
]
nginx
upstream botto_django {
server web:8000;
}
server {
listen 80;
server_name servername;
location / {
proxy_set_header Accept-Language $http_accept_language;
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name sitename;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
ssl_certificate /etc/letsencrypt/live/botto.ai/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/botto.ai/privkey.pem;
location / {
proxy_pass http://botto_django;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Accept-Language $http_accept_language;
}
location /media/ {
alias /usr/src/app/media/;
}
location /static/ {
alias /usr/src/app/static/;
expires 30d;
}
client_max_body_size 64M;
gzip on;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
}