reverse proxy/mirror: 404 cachen
October 22, 2015 10:20AM
Wir verwenden nginx als reverse proxy mit proxy_store (dh. mirror) für statische Daten (Bilder). Der Server bekommt auch laufend Zugriffe auf nicht existente Dateien, der Backend-Server liefert dann 404. Der nginx-Proxy sollte das eine zeitlang cachen, statt jedesmal wieder einen Request auf den Backendserver zu machen.

Falls 404 gecached ist, soll die fallback-Methode also nicht aufgerufen werden, an einer Lösung bin ich aber bisher gescheitert (sowohl try_files als auch error_page rufen @fallback trotz "proxy_cache_valid" auf).

nginx version: nginx/1.6.2

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

[...]
location /images {
proxy_cache_valid 404 5m;
# error_page 404 = @fallback;
try_files $uri @fallback;
}
[...]

location @fallback {
internal;
proxy_pass http://www.foo.bar
proxy_set_header Accept-Encoding "";
# proxy_intercept_errors on;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /var/www/foo/tmp;
}

Würde mich über einen Tipp freuen!

lg, Oliver
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 120
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready