Welcome! Log In Create A New Profile

Advanced

try_files

Phil Kulin
July 29, 2012 05:50PM
Добрый вечер.

Я себе сегодня голову сломал. Есть вот такой конфиг (nginx 1.2.1):
>========begin========
server {
include listen.conf; # там просто listen

server_name 1.cms.cz8.ru;
access_log off;

root /home/cms/www/site1/public_html;
index index.php;

location / {
disable_symlinks if_not_owner
from=/home/cms/www/site1/public_html;
charset utf-8;
source_charset utf-8;
log_not_found off;
try_files $uri $uri/ @apache;
access_log /home/cms/www/site1/logs/nginx-access.log;
}

location = /favicon.ico {
log_not_found off;
access_log /home/cms/www/site1/logs/nginx-access.log;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log /home/cms/www/site1/logs/nginx-access.log;
}

location ~ /\. {
deny all;
log_not_found off;
access_log off;
}

location ~* /(?:uploads|files)/.*\.php$ {
deny all;
log_not_found off;
access_log off;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
disable_symlinks if_not_owner
from=/home/cms/www/site1/public_html;
charset utf-8;
source_charset utf-8;
expires 24h;
log_not_found off;
access_log /home/cms/www/site1/logs/nginx-access.log;
}

location ~ \.php$ {
try_files $uri =404;
proxy_pass http://127.0.0.1:13315;
}

location @apache {
proxy_pass http://127.0.0.1:13315;
}

}
>=================end==============

Загвоздка собственно в первом location / с try_files
Судя по всему, доходя до проверки $uri/ nginx проверяет на самом деле
<root>/$uri/<индекс>
Причём, в этом случае он не отдаёт при наличии там index.php его в
голом виде, а пересматривает location и идёт уже в правило location ~
\.php$ указывая новый $uri с присутствующим там index.php (посмотрел
phpinfo() что ему приходит)

Ещё забавная вещь, при смене индекса:
index index.html
он тут же начинает ругаться 403-ей ошибкой (!)

Это я пытался WordPress настроить. Т.е. ни одна из конфигураций с
документации nginx.org, wiki.nginx.org, и самих CMS для
Joomla/Wordpress не будут работать при замене fastcgi на proxy (у меня
бэкендом apache).

Но вопрос собственно в том, что я реально поведения не понимаю, не
могу формализовать, а главное - зачем он это делает?

--
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

try_files

Phil Kulin July 29, 2012 05:50PM

Re: try_files

Maxim Dounin July 30, 2012 02:26AM

Re: try_files

Phil Kulin July 30, 2012 05:34AM

Re: try_files

Maxim Dounin July 30, 2012 08:28AM

Re: try_files

Phil Kulin July 30, 2012 11:26AM

Re: try_files

Dmitry Morozovsky July 30, 2012 02:36PM

Re: try_files

Daniel Podolsky July 30, 2012 03:20PM

Re: try_files

kav July 30, 2012 03:24PM

Re: try_files

Daniel Podolsky July 30, 2012 03:48PM

Re: try_files

kav July 30, 2012 03:52PM

Re: try_files

San July 30, 2012 04:04PM

Re: try_files

kav July 30, 2012 04:16PM

Re: try_files

Daniel Podolsky July 30, 2012 04:16PM

Re: try_files

San July 30, 2012 04:44PM

Re: try_files

Sergey Shepelev July 30, 2012 04:18PM

Re: try_files

Andrey N. Oktyabrski July 30, 2012 04:00PM

Re: try_files

Phil Kulin July 30, 2012 05:14PM

Re: try_files

Phil Kulin July 30, 2012 05:12PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 112
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready