Welcome! Log In Create A New Profile


Proxy_cache_key based on custom header

June 27, 2017 05:43PM

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_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/ {
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: 51
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