alias issue again
Gena Makhomed
gmm на csdoc.com
Чт Дек 1 00:38:49 UTC 2011
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