ПРОЕКТЫ 


  АРХИВ 


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]

disable symlinks + try files = fail


  • To: nginx-ru@xxxxxxxxx
  • Subject: disable symlinks + try files = fail
  • From: "charlie" <nginx-forum@xxxxxxxx>
  • Date: Thu, 26 Apr 2012 09:29:20 -0400 (EDT)
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=sRSm0gZN7P0PlvFiCqmqhQka2DqRAdPVV1Nk5uya2tE=; b=i/fXo4Asor/8Dp/qsQ1M7Ln8pWeQEOmMGicaCWJ/0nZf5tyRSItQJO9ZeTPNV17NcoF+AEIHBIMmur+c80sMOpHrHXXC72sd1kowN81jIYnvz5oZxhTVYY1xW0zySyyx;

Здравствуйте.

"disable_symlinks" не работает вместе с
директивой  "try_files". 

Имеется симлинк "test.txt -> /home/otheruser/config.php" 

Вот с таким конфигом виртхоста,
http://test.ru/test.txt отображет 403-ю ошибку в
браузере:

-----------------------------------------------------
server {
    listen 192.168.0.1:80;
    server_name test.ru www.test.ru;
    location / {
       proxy_pass http://192.168.0.1:8081;
       include proxy.inc;
       location ~.*\.(gif|jpg|png|ico|txt|js|css)$ {
          root /home/test/public_html;
       }
    }
}
-----------------------------------------------------

А вот с конфигом, в котором
используется try_files, http://test.ru/test.txt
отображает содержимое файла другого
юзера:

-----------------------------------------------------
server {
   listen 192.168.0.1:80;
   server_name test.ru www.test.ru;
   root /home/test/public_html;
   location / {
     location ~.*\.(gif|jpg|png|ico|txt|js|css)$ {
     try_files $uri @backend;
     }
     error_page 405 = @backend;
     add_header X-Cache "HIT from Backend";
     proxy_pass http://192.168.0.1:8081;
     include proxy.inc;
     }
   location @backend {
   internal;
   proxy_pass http://192.168.0.1:8081;
   include proxy.inc;
   }
   location ~ .*\.(php|jsp|cgi|pl|py)?$ {
   proxy_pass http://192.168.0.1:8081;
   include proxy.inc;
   }
 }
-----------------------------------------------------
Это бага или фича?
Если фича, как будет выглядеть
корректный конфиг, чтобы и try_files
работало, проксируя запросы в апач,
если файл не существует, и запросы к
существующим файлам проверялись на
симлинкнутость?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,225817,225817#msg-225817

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.