Tôi đã thiết lập nginx làm máy chủ proxy ngược và tôi muốn xóa một số cookie nhất định được đặt trên máy chủ được sao lưu (apache)Cách xóa một số cookie nhất định khỏi phản hồi nginx
Trang web của tôi sử dụng nhiều cookie không kiểm soát (Expression Engine CMS, đừng hỏi tôi tại sao). Tôi muốn xóa một số cookie đó (cho phép nói cookie A B và C) và giữ một số cookie khác (cookie D và E).
Sau đó tôi sẽ thiết lập nginx để chỉ phản hồi nội dung đã lưu trong bộ nhớ cache nếu yêu cầu không có cookie.
Bạn có biết cách làm điều này không? Cảm ơn
Cho đến nay tôi có trong cấu hình của tôi:
proxy_cache_path /opt/nginx/cache levels=1:2 keys_zone=mycache:20m max_size=1G;
proxy_temp_path /opt/nginx/tmp_cache/;
proxy_ignore_headers Expires Cache-Control Set-Cookie;
proxy_cache_use_stale error timeout invalid_header http_502;
proxy_cache_bypass $cookie_nocache;
proxy_no_cache $cookie_nocache;
...
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache mycache;
proxy_cache_valid 200 302 6h;
proxy_cache_valid 404 1m;
proxy_pass http://x.x.x.x:8080;
}
Đã kết thúc bằng véc ni có mô-đun tiêu đề. nó có hàm header.remove() trong đó bạn có thể nhắm mục tiêu các cookie cụ thể. Đây là liên kết đến các mô-đun trên github: https://github.com/varnish/libvmod-header –