<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=KOI8-R" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Эммм, дык у меня так и написано, но это не ответило на мои вопросы<br>
<br>
Борис Долгов wrote:
<blockquote
 cite="mid:91c9771b0902120245s7e0eba25xd0189f034ee65bd6@mail.gmail.com"
 type="cite">
  <pre wrap="">location /filestorage {internal; }

12.02.09, Goncharov Yuri<a class="moz-txt-link-rfc2396E" href="mailto:neo@kntele.com">&lt;neo@kntele.com&gt;</a> написал(а):
  </pre>
  <blockquote type="cite">
    <pre wrap="">Добрый день. Прошу у Вас помощи. Теоретически разобрался с
X-Accell-Redirect, всё вроде работает, но есть несколько вопросов.
Папка в которой будут лежать медиа-данные проэкта физически находятся
внутри проэкта (девелоперы утверждают что выносить ее за пределы проэкта
для них очень сложно и сейчас это реализовать невозможно, хотя я
продолжаю настаивать).
Дык вот получается что, например файл по адресу
/www/projects/project/data/filestorage/1.jpg
отдаётся корректно используя файлик down.php в котором
header("X-Accel-Redirect: /filestorage/".$path); и т д, как положено.
Меня интересует вопрос как мне запретить прямой доступ через
<a class="moz-txt-link-freetext" href="http://domain.com/data/filestorage/1.jpg">http://domain.com/data/filestorage/1.jpg</a> в моем случае

Такая статика обрабатывается как я понял первым в моём конфиге 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&amp;path=$1 break;
            }
.......[skipped]

--
Best regards

Phone +380 44 496 88 17
Mobile +380 67 509 05 79
CTO KNtelecom Ukraine Ltd.
----------------------------
NEO83-RIPE



    </pre>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
<br>
<pre class="moz-signature" cols="144">-- 
Best regards

Phone +380 44 496 88 17
Mobile +380 67 509 05 79
CTO KNtelecom Ukraine Ltd.
----------------------------
NEO83-RIPE</pre>
</body>
</html>