Welcome! Log In Create A New Profile

Advanced

Probleme mit cache_key

Posted by CarstenK. 
Probleme mit cache_key
October 14, 2016 11:26AM
Hallo,
ich habe ein Caching Problem, wenn ich mit einem beliebigen Browser über die Seite surfe und eine Seite das zweite Mal besuche wird sie aus dem Cache des nginx ausgeliefert (x-Cache-Status. Hit). Soweit so gut.

Wenn ich aber den Cache leere und mit Browser A (z.B Chrome) eine URL besuche und im Anschluss mit Browser B (Firefox oder curl) die gleiche URL besuche so bekomme ich ein MISS. Wenn ich den Aufruf mit Browser B wiederhole ein HIT.

Wenn ich aber mit curl von zwei unterschiedlichen Maschinen die gleiche URL aufrufe so klappt es einwandfrei.
curl -I http://meinedomain/test.html

Es scheint irgendwie so, als wenn hier irgendwas mit in den Cache-Key einfliest, was ich nicht dort haben möchte.
Im ersten Schritt möchte ich dort nur die URLs inkl. Argumente berücksichten. Später auch ein spezielles Cookie.

Version: nginx version: nginx/1.11.3 (nginx-plus-r10) (30 Tage Trial)

Hier meine Konfiguration
### proxy.conf
proxy_cache_path /srv/nginx/cache/test levels=1:2 keys_zone=test_cache:128m inactive=120d max_size=25G;

map $request_method $purge_method {
PURGE 1;
default 0;
}

server {
listen 80;
server_name <meineDomain.de>;
access_log /var/log/nginx/fliesenrabatte.access.log shop;
error_log /var/log/nginx/fliesenrabatte.error.log;
proxy_cache fliesenrabatte_cache;

rewrite_log on;
proxy_set_header Host <meineDomain.de>;

proxy_cache_key $request_uri;



# Caching deaktivieren
# NoCache URLs
if ($request_uri ~* "(/admin.*|/brand.*|/user.*|/login.*)") {
set $no_cache 1;
}

proxy_no_cache $no_cache;




# Startseite
location ~ /$ {
proxy_ignore_headers "Set-Cookie";
proxy_hide_header "Set-Cookie";
proxy_pass http://meinupstream;
proxy_cache_purge $purge_method;
}

# Cachen
location ~* \.(html|gif|jpg|png|js|css|pdf|woff|woff2|otf|ttf|eot|svg)$ {
proxy_ignore_headers "Set-Cookie";
proxy_hide_header "Set-Cookie";
proxy_pass http://meinupstream;
proxy_cache_purge $purge_method;
}

# nicht cachen (Warenkorb usw)
location ~* \.(cfc|cfm|htm)$ {
proxy_cache off;
proxy_pass http://meinupstream;
}

# Fuer Wildcard purging notwendig, da String auf Wildcard endet
location / {
allow 1.1.1.1;
deny all;
proxy_ignore_headers "Set-Cookie";
proxy_hide_header "Set-Cookie";
proxy_pass http://meinupstream;
proxy_cache_purge $purge_method;
}

}




### site-conf
server_tokens off;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
proxy_cache_valid 200 120d;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
add_header X-Cache-Status $upstream_cache_status;


upstream meinupstream {
server meinedomain.de:80;
}


Wäre toll, wenn jemand eine Idee hat und mir helfen kann.

Herzlichen Dank!
Carsten
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 76
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready