Internal redirect. Howto
Sergej Kandyla
sk.paix at gmail.com
Thu Feb 12 16:38:57 MSK 2009
Goncharov Yuri пишет:
> Добрый день. Прошу у Вас помощи. Теоретически разобрался с
> X-Accell-Redirect, всё вроде работает, но есть несколько вопросов.
> Папка в которой будут лежать медиа-данные проэкта физически находятся
> внутри проэкта (девелоперы утверждают что выносить ее за пределы проэкта
> для них очень сложно и сейчас это реализовать невозможно, хотя я
> продолжаю настаивать).
нет никаких проблем держать контент в другом месте. Или как вы
собираетесь постпуть когда контента станет много?
рабочий пример:
location /downloads {
alias /mnt/ad6/content;
internal;
}
также повозможности меньше используйте всякого рода if
> Дык вот получается что, например файл по адресу
> /www/projects/project/data/filestorage/1.jpg
> отдаётся корректно используя файлик down.php в котором
> header("X-Accel-Redirect: /filestorage/".$path); и т д, как положено.
> Меня интересует вопрос как мне запретить прямой доступ через
> http://domain.com/data/filestorage/1.jpg в моем случае
>
> Такая статика обрабатывается как я понял первым в моём конфиге
> location и сделать там allow/deny неверно, так как перестают читаться
> вся остальная статика проэкта
> по понятной причине. А в случае с internal такие ограничения (как у
> меня в конфиге) попросту не работают.
>
> Что я делаю не так и какие есть варианты?
>
> Конфиги привожу ниже, спасибо заранее.
>
>
> nginx.conf:
>
> server {
> listen 80;
> server_name .domain.com;
> include proxy;
> # Static files location
> location ~*
> ^(?!/download/).+\.(jpg|jpeg|gif|png|ico|zip|gz|rar|bz2|xls|exe|pdf|txt|wav|bmp|js|swf|css|xml)$
>
> {
> root /www/projects/project;
> }
> location /filestorage {
> root /www/projects/project/data/;
> allow 127.0.0.1;
> deny all;
> internal;
> }
>
> }
>
> proxy:
>
> location / {
> set $subdomain "";
> if ($host ~* ^x([0-9]+)\.domain.com$){
> set $subdomain $1;
> rewrite ^/download/(.*)
> /down.php?intUserID=$subdomain&path=$1 break;
> }
> .......[skipped]
>
More information about the nginx-ru
mailing list