| From | Sent On | Attachments |
|---|---|---|
| Kamil Gorlo | Jun 6, 2011 6:14 am | |
| Kamil Gorlo | Jun 6, 2011 6:15 am | |
| Kamil Gorlo | Jun 6, 2011 7:33 am | |
| António P. P. Almeida | Jun 6, 2011 7:39 am | |
| Igor Sysoev | Jun 6, 2011 8:09 am | |
| wideawake | Aug 28, 2012 4:43 pm |
| Subject: | Re: Special headers and X-Accel-Redirect | |
|---|---|---|
| From: | Kamil Gorlo (kgo...@gmail.com) | |
| Date: | Jun 6, 2011 7:33:16 am | |
| List: | ru.sysoev.nginx | |
Ok,
I've found solution (or workaround - if this is bug in nginx).
I have to put:
set $x_metadata $upstream_http_x_metadata;
BEFORE
rewrite ^/files(.*)$ $1 break;
Could you please explain me why?
Thanks,
-- kgs
On Mon, Jun 6, 2011 at 3:15 PM, Kamil Gorlo <kgo...@gmail.com> wrote:
Oh, and version:
nginx: nginx version: nginx/1.0.4 nginx: TLS SNI support enabled nginx: configure arguments: --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_gzip_static_module --add-module=../modules/upstream_hash --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --prefix=/var/lib/nginx --http-client-body-temp-path=/var/lib/nginx/client_body_temp --http-proxy-temp-path=/var/lib/nginx/proxy_temp --http-fastcgi-temp-path=/var/lib/nginx/fastcgi_temp --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock
-- kgs
On Mon, Jun 6, 2011 at 3:15 PM, Kamil Gorlo <kgo...@gmail.com> wrote:
Hi guys,
I have small problem with file download using X-Accel-Redirect. I am using Nginx as proxy before some REST API application, some of the requests are for big files which are located at other host - so I am using X-Accel-Redirect to download them. But I have also some metadata connected with file which I want to return in X-metadata header from REST API.
So, here is my config:
server { listen 80; listen 443 ssl;
server_name some-service.pl;
ssl_certificate /etc/ssl/certs/some-service.pl.pem; ssl_certificate_key /etc/ssl/private/some-service.pl.key;
client_max_body_size 100M; client_body_buffer_size 128k;
location / { if ($http_x_user = "") { return 502; }
proxy_pass http://api; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # client, proxy1, proxy2, ...
}
location /files { internal; rewrite ^/files(.*)$ $1 break;
proxy_pass http://filestore; proxy_hide_header Content-Type; proxy_hide_header Content-Disposition;
set $x_metadata $upstream_http_x_metadata;
add_header X-metadata $x_metadata; } }
I am using this trick with set to temporary variable and add_header with this variable (which I've found somewhere on this list), but this is not working. Even simple:
set $x_std "testest"; add_header X-metadata $x_std;
does not work for me.
Could please somebody tell me what could be wrong?
Thanks,
-- kgs
_______________________________________________ nginx mailing list ngi...@nginx.org http://nginx.org/mailman/listinfo/nginx





