gpt4 book ai didi

django - 注销不起作用,在 nginx 上缓存,如何允许注销?

转载 作者:行者123 更新时间:2023-12-04 23:37:56 25 4
gpt4 key购买 nike

我已经缓存了所有内容,如果我登录我的帐户,您将无法再注销)退出时如何退出?我需要知道如何删除cookies和 session !我什么时候退出!

P.S. if i'll disable caching on nginx level, everything works fine, problem in nginx



nginx 配置
    gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

proxy_connect_timeout 5;
proxy_send_timeout 10;
proxy_read_timeout 10;
proxy_buffering on;
proxy_buffer_size 16k;
proxy_buffers 24 16k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

proxy_temp_path /tmp/nginx/proxy_temp;
add_header X-Cache-Status $upstream_cache_status;
proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=first_zone:100m;
proxy_cache one;
proxy_cache_valid any 30d;
proxy_cache_key $scheme$proxy_host$request_uri$cookie_US;

服务器配置
upstream some site {
server unix:/webapps/some/run/gunicorn.sock fail_timeout=0;
}

server {
listen 80;
server_name server name;
expires 7d;
client_max_body_size 4G;

access_log /webapps/some/logs/nginx-access.log;
error_log /webapps/some/logs/nginx-error.log;
error_log /webapps/some/logs/nginx-crit-error.log crit;
error_log /webapps/some/logs/nginx-debug.log debug;
location /static/ {
alias /webapps/some/static/;
}

location /media/ {
alias /webapps/some/media/;
}
location ~* ^(?!/media).*.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
root root_path;
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
access_log off;
}
location ~* ^(?!/static).*.(?:css|js|html)$ {
root root_path;
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
access_log off;
}

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_cache one;
proxy_cache_min_uses 1;
proxy_cache_use_stale error timeout;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://some;
break;
}
}
error_page 404 /404.html;
location = /error_404.html {
root /webapps/some/src/templates;
}

error_page 500 502 503 504 /500.html;
location = /error_500.html {
root /webapps/some/src/templates;
}
}

最佳答案

而不是用 GET 注销请求,更改您的注销 View 以接受表单 POST .
POST不应缓存请求。

这具有额外的安全优势,可以防止用户使用 iframe 或恶意链接注销(即: https://example.com/logout/ ,假设您没有禁用 django 的 CSRF 保护)。

注意:有一个 ticket on django's bug tracker related to this issue .

关于django - 注销不起作用,在 nginx 上缓存,如何允许注销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47990891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com