ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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

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 ?







 




Copyright © Lexa Software, 1996-2009.