В лог не пишется файл

Igor Sysoev is at rambler-co.ru
Sun Jul 10 09:40:33 MSD 2005


On Sat, 9 Jul 2005, Alex Kitschkiruk wrote:

> Если брать пример с сайта, то такая конструкция не записывает в лог
> файлы, которые качаются. А только запросы "get /"
> То есть сначала открывается в браузере сгенерированный index.html.
> Потом скачивается полностью какой-либо файл. По идее должно быть 2
> записи. Но есть только одна
> Как быть?
>
> 55.55.55.55 - - [09/Jul/2005:21:44:17 +0200] "user" "GET /files/
> HTTP/1.1" 200 391 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU;
> rv:1.7.8) Gecko/20050511 Firefox/1.0.4" "-" "-"
>
> http {
> [skip]
>    log_format download  '%addr - - [%time] "%{remote_user}v"
> "%request" %status '
>                         '%length "%{Referer}i" "%{User-Agent}i" '
> 			 '"%{Range}i" "%{Content-Range}o"';
> [skip]
>    server {
> [skip]
>        location /files/ {
>            valid_referers  none  server_names  *.server.com/;
>            if ($invalid_referer) {
>                return   403;     }
> 	    root   /srv/www/htdocs/web2/html;
> 	    autoindex    on;
> 	    auth_basic "hallo";
> 	    auth_basic_user_file /usr/local/nginx/conf/passwd;
> 	    access_log   /usr/local/nginx/logs/access_web2_files.log   download;
> 	}

Судя по той конфигурации, что была в одном из предыдущих писем, файлы,
скорее всего, попадют в location ~* ^.+\.(jpg|jpeg|gif|png|ico|mpg)$:

-----------
         location /files/ {
             valid_referers  none  server_names  *.virtualserver.com/;
             if ($invalid_referer) {
                 return   403;     }
             root   /srv/www/htdocs/web2/html/files;
             autoindex    on;
             access_log   /usr/local/nginx/logs/access_web2_files.log
download;
         }
         location ~* ^.+\.(jpg|jpeg|gif|png|ico|mpg)$ {
             root   /srv/www/htdocs/web2/html;
             access_log   off;
             expires      30d;
         }
-----------

Порядок обработки location описан здесь:
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location
Для того, чтобы после /files/ не проверялись регулярные выражения,
нужно написать так:

         location ^~ /files/ {


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list