X-Accel-Redirect на другой порт

Bokhan Artem art at academ.org
Wed Nov 18 22:01:03 MSK 2009


Так вам подойдет? Или вам надо, чтобы браузер клиента обязательно подсоединялся 
к другому порту? Если так, то "секретность" ссылки теряется.

server {
     listen localhost:80;

     location /media/ {
	[...]
     }

     location /media/secret/ {
	[...]
	proxy_pass http://localhost:8080
	internal;
#	proxy_buffering off;	
     }
}

server {
     listen localhost:8080;
     location /media/secret/ {
     [...]
     allow 127.0.0.1;
     deny all;
     }
}

Michael Borisov пишет:
> В Срд, 18/11/2009 в 12:31 +0600, Artem Bokhan пишет:
> 
>> Сделайте x-accel-redirect на location, в котором формируется редирект
>>
>> location /secret {
>>             add_header Location "http://$somethingyouneed";
>>             return 302;
>> #         internal;
>> }
> 
> 
> Можно подробнее?
> Как дело обстоит в моем случае: 
> Есть ссылка http://localhost/file/download , где file - id файла. Зайдя
> по этой ссылке клиент получает заголовки, среди которых есть
> X-Accel-Redirect, который равен /media/secret/filename - вот его нужно
> переправить на другой порт, т.е. на
> http://localhost:8080/media/secret/filename
> 
> 
> Вот пример текущей конфигурации nginx:
> server {
>     listen localhost:80;    
>     location /media/ {
>         alias /path/to/static/;
>     }                            
> }
> 
> server {
>     listen localhost:8080;
>     location /media/secret/ {
> internal;
>         alias /path/to/secret/;
>     }
> }
> 
> Какой именно тут надо дописать location ?
> 
> 







More information about the nginx-ru mailing list