ПРОЕКТЫ 


  АРХИВ 


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: alias issue again



On 30.11.2011 21:36, Валентин Бартенев wrote:

в исходном конфиге

location / {}
location ~ \.php$ {}
location /pma/   {}
location ~ ^/pma/(.*\.php)$ {}

я не смог визуально найти причину, почему появляется ошибка
'directory index of "/usr/local/www/phpMyAdmin" is forbidden'

и он не просил вместо него написать конфиг, он просил ответить
на вопрос о причине этой ошибки - "Я не так использую alias-ы?"

Причина данной конкретной ошибки, как я сразу и написал:
неправильный alias, без нужного в данном случае '/' на конце.

И как следствие, не срабатывал index index.php; поэтому запрос
обрабатывался как попытка обратиться к /usr/local/www/phpMyAdmin
в текущем локэйшене.

А листинг директорий у автора был запрещен, на что и указывала ошибка.

судя по отладочному логу:

2011/12/01 01:58:40 [debug] 30615#0: *1590545 test location: "/"
2011/12/01 01:58:40 [debug] 30615#0: *1590545 test location: "pma/"
2011/12/01 01:58:40 [debug] 30615#0: *1590545 test location: ~ "\.php$"
2011/12/01 01:58:40 [debug] 30615#0: *1590545 test location: ~ "^/pma/(.*\.php)$"
2011/12/01 01:58:40 [debug] 30615#0: *1590545 using configuration "/pma/"
2011/12/01 01:58:40 [debug] 30615#0: *1590545 open index "/usr/local/www/phpMyAdminindex.php" 2011/12/01 01:58:40 [debug] 30615#0: *1590545 stat() "/usr/local/www/phpMyAdminindex.php" failed (2: No such file or directory) 2011/12/01 01:58:40 [debug] 30615#0: *1590545 http index check dir: "/usr/local/www/phpMyAdmin" 2011/12/01 01:58:40 [error] 30615#0: *1590545 directory index of "/usr/local/www/phpMyAdmin" is forbidden, client: 10.17.1.237, server: q, request: "GET /pma/ HTTP/1.1", host: "q"

текущий локейшин - это "/pma/", за его пределы nginx не выходил.
nginx пытался открыть индексный файл /usr/local/www/phpMyAdminindex.php
и поскольку такого файла не было - выдавал ошибку что directory index
is forbidden.

мои вопросы касались уже исключительно того варианта конфига,
который получился в результате, и который имхо будет гораздо хуже
для поддержки, чем его исходный конфиг с 4-мя разными locations.

Ни я, ни вы - не знаем задач автора. И конечный вариант должен все же
писаться ориентируясь на конкретные цели и самим автором, с пониманием
что происходит и как работает. ИМХО

мы не знаем задач автора, это правда. но кроме /pma/
у него рано или поздно появятся там и другие locations,
поэтому лучше изначально делать конфигурацию удобной
для поддержки, т.е. чтобы все locations были максимально
независимы друг от друга и от порядка следованиях их в конфиге,
т.е. чтобы все locations с регулярными выражениями были бы
вложены внутрь небольших по размеру locations с префиксами.

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

понял, sorry.

но писать конфиги для элементарных задач за всех пользователей nginx -
это наверное не выход из положения. тем более, что судя по вопросу
- было видно что документацию по директиве alias он читал,
но из документации и обычного (не отладочного ) error_log`а
он не смог понять почему у него директива alias не работает
так как ожидалось. следовательно - проблемы с документацией
к директиве alias - она не полная и нюанс с '/' там не отражен.

--
Best regards,
 Gena

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


 




Copyright © Lexa Software, 1996-2009.