ПРОЕКТЫ 


  АРХИВ 


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: Баг с location в nginx-devel-0. 7.42 ?



Igor Sysoev wrote:
On Tue, Mar 17, 2009 at 05:56:39PM +0200, Konstantin Belov wrote:

Борис Долгов wrote:
Судя по всему, баг с определением директорий, в 0.7.40 было изменение.

17 марта 2009 г. 18:19 пользователь Konstantin Belov <belov1985@xxxxxxxxx <mailto:belov1985@xxxxxxxxx>> написал:

   Борис Долгов wrote:

       А 0.7.39 работает?

       17 марта 2009 г. 17:39 пользователь Konstantin Belov
       <belov1985@xxxxxxxxx <mailto:belov1985@xxxxxxxxx>
       <mailto:belov1985@xxxxxxxxx <mailto:belov1985@xxxxxxxxx>>>
       написал:


          Борис Долгов wrote:

              А какая ФС?

          Система FreeBSD 7.0, fs - UFS.

          Только не думаю, что проблема в ней. Т. к. на nginx 0.6.35 и
          0.7.33 (да и на всех старых версиях)
          работает нормально. Никаких правок в движок сайта (DLE) и в
       конфиг
          nginx не вносилось уже давно.
          Появилось именно при обновлении до 0.7.42.




-- С уважением, Борис Долгов.
       icq 77556665
       e-mail boris@xxxxxxxxxxx <mailto:boris@xxxxxxxxxxx>
       <mailto:boris@xxxxxxxxxxx <mailto:boris@xxxxxxxxxxx>>

   telnet 80.93.57.177 80
   Trying 80.93.57.177...
   Connected to gr3.p8.ru <http://gr3.p8.ru>.
   Escape character is '^]'.
   GET /img/topbox_01.gif HTTP/1.0
   host: news.ereality.ru <http://news.ereality.ru>

   HTTP/1.1 200 OK
   Server: nginx/0.7.39
   Date: Tue, 17 Mar 2009 15:17:21 GMT

   Content-Type: image/gif
   Content-Length: 67
   Last-Modified: Mon, 18 Aug 2008 16:44:25 GMT
   Connection: close
   Expires: Thu, 16 Apr 2009 15:17:21 GMT

   Cache-Control: max-age=2592000
   Accept-Ranges: bytes

   GIF89????????????????!?H???";
   Connection closed by foreign host.


   Да, все отлично работает.


   /usr/local/sbin/nginx739 -V
   nginx version: nginx/0.7.39
   built by gcc 4.2.1 20070719  [FreeBSD]

   configure arguments: --prefix=/usr/local/etc/nginx
   --with-cc-opt=-I/usr/local/include --with-ld-opt=-L/usr/local/lib
   --conf-path=/usr/local/etc/nginx/nginx.conf
   --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
   --error-log-path=/var/log/nginx-error.log --user=www --group=www
   --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
   --http-proxy-temp-path=/var/tmp/nginx/proxy_temp
   --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
   --http-log-path=/var/log/nginx-access.log --with-http_ssl_module
   --with-http_stub_status_module --with-http_sub_module
   --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.0.8
   --add-module=/usr/ports/www/nginx-devel/work/ngx_http_upstream_keepalive-0.1




--
С уважением, Борис Долгов.
icq 77556665
e-mail boris@xxxxxxxxxxx <mailto:boris@xxxxxxxxxxx>
Igor Sysoev wrote:
Изменения в nginx 0.7.40 09.03.2009

*) Изменение: модуль ngx_http_autoindex_module не показывал последний слэш для каталогов на файловой системе XFS; ошибка появилась в 0.7.15.
      Спасибо Дмитрию Кузьменко.
Да, возможно в этом и есть ошибка :)

А 0.7.40 не работает ? Я пока не могу воспроизвести.


Собрал nginx 0.7.42 дома под Mac OS X
Ошибка появляется при использовании переменных в root и location с regex (location ~* \.(foo|bar)$ {)

Конфиг:
server {
       listen 127.0.0.1:81;

       location ~* \.(var)$ {
           root /usr/home/www;
           expires      30d;
       }

}


$ telnet 127.0.0.1 81
Trying 127.0.0.1...
Connected to macbook.home.
Escape character is '^]'.
GET /test.var HTTP/1.0

HTTP/1.1 200 OK
Server: nginx/0.7.42
Date: Tue, 17 Mar 2009 21:56:00 GMT
Content-Type: application/octet-stream
Content-Length: 5
Last-Modified: Tue, 17 Mar 2009 21:52:38 GMT
Connection: close
Expires: Thu, 16 Apr 2009 21:56:00 GMT
Cache-Control: max-age=2592000
Accept-Ranges: bytes

test
Connection closed by foreign host.




А вот при таком конфиге получаем ошибку:


Конфиг:
server {
       listen 127.0.0.1:81;

       set $var "/usr/home/www";

       location ~* \.(var)$ {
           root         $var;
           expires      30d;
       }

}


$ telnet 127.0.0.1 81
Trying 127.0.0.1...
Connected to macbook.home.
Escape character is '^]'.
GET /test.var HTTP/1.0

HTTP/1.1 404 Not Found
Server: nginx/0.7.42
Date: Tue, 17 Mar 2009 21:53:57 GMT
Content-Type: text/html
Content-Length: 169
Connection: close

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/0.7.42</center>
</body>
</html>
Connection closed by foreign host.


В логе ошибок:
2009/03/17 23:53:57 [error] 6063#0: *9 open() "/usr/home/www/te" failed (2: No such file or directory), client: 127.0.0.1, server: macbook.home, request: "GET /test.var HTTP/1.0"

Правда под макосью nginx возвращает 404, а не 301 :)



Кстати, при ручной сборке nginx740 -V
nginx version: nginx/0.7.40
built by gcc 4.2.1 20070719  [FreeBSD]
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt=-I/usr/local/include --with-ld-opt=-L/usr/local/lib --conf-path=/usr/local/etc/nginx/nginx740.conf --sbin-path=/usr/local/sbin/nginx740 --pid-path=/var/run/nginx740.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-log-path=/var/log/nginx-access.log --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --add-module=/usr/ports/www/nginx-devel/work/nginx_upload_module-2.0.8 --add-module=/usr/ports/www/nginx-devel/work/ngx_http_upstream_keepalive-0.1

я явно указал конфиг /usr/local/etc/nginx/nginx740.conf, но в итоге после make install у меня перезаписался /usr/local/etc/nginx/nginx.conf :(

P. S. рут задается переменными, потому что так легче управлять конфигурацией при большом кол-ве шаблоных хостов.



 




Copyright © Lexa Software, 1996-2009.