June 27, 2017 05:43PM
Hi.

I'm trying to use 2 level proxying to cache files delivered with X-Accel-Redirect. This kinda works, the only thing missing is getting the cache_key to be the filename.


If `proxy_cache` is unset (or set to the default), the caching mechanism "works":
- Every request gets cached (good)
- Different URLs that map to the same file get mapped to different cache keys (bad)
- I get the header "X-Banana" with the correct file path (good)

If `proxy_cache` is set to `$sent_http_x_test_header`:
- Every request gets cached (good)
- All URLs map to the same cache (very bad!)
- I don't get the 'X-Banana' header at all

This leads me to believe that in the second case, `$sent_http_x_test_header` is empty. But it's not in the first case? Why? What can I do?

Full config below:


proxy_cache_path /cache/nginx levels=1:2 keys_zone=cache:10m inactive=24h;

upstream backend {
server unix:///tmp/streaming-backend.sock;
}

server {
listen 443 ssl;
listen [::]:443 ssl;
include /etc/nginx/ssl;
index index.html;
server_name pilotage.streamall.pw;
gzip off;

proxy_cache_min_uses 1;
proxy_cache cache;
proxy_cache_valid 200 24h;

location /v/ {
rewrite /v/(.+) /$1 break;
proxy_pass http://127.0.0.1:9999/;

proxy_request_buffering off; # needs 1.7.11
proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;

# proxy_cache_key $sent_http_x_test_header;
add_header X-Proxy-Cache $upstream_cache_status;
add_header X-Banana $sent_http_x_test_header;

}

}

server {
listen 9999;
location / {
uwsgi_pass backend;
include uwsgi_params;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /converted/ {
internal;
root /nfs/;
add_header X-Test-Header $document_uri;
}
}
Subject Author Posted

Proxy_cache_key based on custom header

deivid__ June 27, 2017 05:43PM

Re: Proxy_cache_key based on custom header

Francis Daly June 30, 2017 12:28PM

Re: Proxy_cache_key based on custom header

pbooth June 30, 2017 01:30PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 160
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready