2012-12-29 11 views
6

I nginx up als Reverse-Proxy-Server eingestellt haben und ich möchte bestimmte Cookies auf dem gesicherten Server (Apache) verwendetWie bestimmte Cookies von nginx Antwort entfernen

Meine Website eine Menge Cookies entfernen, die ich kann, nicht kontrollieren (Expression Engine CMS, frag mich nicht warum). Ich möchte einige dieser Cookies löschen (sagen wir Cookies A B und C) und einige andere Cookies behalten (Cookies D und E).

Danach werde ich Nginx einrichten, um mit zwischengespeichertem Inhalt nur zu antworten, wenn die Anfrage keine Cookies hat.

Haben Sie eine Idee, wie Sie das machen? Dank

Bisher habe ich in meiner config:

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; 
} 
+2

Beendet mit Lack mit Header-Modul. Es hat eine Funktion header.remove(), mit der Sie bestimmte Cookies gezielt ansprechen können. Hier ist der Link zu dem Modul auf github: https://github.com/varnish/libvmod-header –

Antwort

3

Obwohl Sie bereits erwähnt, dass Sie auf Lack eingeschaltet zu erreichen, was Sie gefragt, die richtige Antwort wäre gewesen sein, die headers-more-nginx-module zu benutzen, die im Grunde Ihnen das selbe wie die Varnish-Funktion tut (und viel mehr).

+0

aus dem Modul Dokumente, scheint es in der Lage zu tun, was ich ursprünglich wollte. –

+0

Großartig, froh, dass ich von Hilfe war. – Fleshgrinder

Verwandte Themen