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. рут задается переменными, потому что так легче управлять
конфигурацией при большом кол-ве шаблоных хостов.
|