ПРОЕКТЫ 


  АРХИВ 


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]

try_files


  • To: nginx-ru@xxxxxxxxx
  • Subject: try_files
  • From: Phil Kulin <schors@xxxxxxxxx>
  • Date: Mon, 30 Jul 2012 01:49:15 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=7mmJgeJazeeKEF2JcJ4tdrLHfwNJCaLo7dkYgxrwupI=; b=bZTfROYFAfxxFvzqRIf6px/dfW4syI/rRAMEitP+6jfkHXsa5NxrbWD07ZfdP2wwpo /aMDWWBTx4s1YRrnFbUtDr1NJDXtDUDvtvRd6uswS5kdkcqmDcroyL4upOhQ6Bl5kDiN MayP3ICIE9rIo5XCuDWEgBa94DhtiZtG04XzH37g5P2n06+o+IeEuyM+sL89sunvh3zC dlGpUK4C+4ZoRLWkOIcbmMhJqdabq2SmxDjl9AooWkKpCA1WKZbNpuPh0mAshDeMUTrb pigvDtJ66HNUIs5X8bgv6WPcn4jUmg2JmmRsrrm1GBkvkXKfNvxnCYD2YLHFUzXtdFXI k5Bw==

Добрый вечер.

Я себе сегодня голову сломал. Есть вот такой конфиг (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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.