Странное поведение nginx?

Столкнулся на одном из серверов со странным поведением nginx. При попытке зайти на страницу мы получает содержимое каталога, т.е. видим скрипты в директории, структуру папок и т.д или получаем 403. По папкам ходить при этом нельзя, не пускает. А вот обратиться к какому-то конкретному скрипту – можно, без просмотра содержимого файла — жмякая по index.php откроется сайт.


Подробности ниже...


По времени возникновения и сайтам – рандомно, но не чаще раза в сутки-пять. Лечится удалением кэша и перезагрузкой страницы. В логах ничего интересного, никаких специфических ошибок. На других машинах ничего подобного нет, конфиги схожи. Ранее тоже не сталкивался с таким поведением. При обращении к Apache на прямую ничего такого нет, сайт открывается как нужно.


Поиск пока ничего толкового не дал.

Any ideas?

Немного из конфигурационных файлов:

proxy_cache_path /var/tmp/domain levels=1:2 keys_zone=domain:32m inactive=7d;

Основной локейшен:

location / {

proxy_cache domain;

proxy_cache_key "$request_method|$is_args|$host|$request_uri";

proxy_hide_header “Set-Cookie”;

proxy_ignore_headers “Cache-Control” “Expires”;

proxy_cache_valid 200 302 304 10m;

proxy_cache_valid 301 1h;

proxy_cache_valid 503 1m;

proxy_cache_valid any 5m;

proxy_cache_use_stale http_502 http_503 http_504;

proxy_pass domain-ip:8080;

proxy_redirect domain.ru:8080/ /;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; }

Параметры сервера: debian 5, nginx 0.86->1.02 (версию менял, грабли остались), apache2.2+mod_php, сайт на Joomla (камнями не бейте, так уж вышло)


PS: Подозреваю, что дело в каком-то некорректном обновлении кэша, но как доказать или исправить — не ясно. Пробую менять keys_zone в большую сторону и inactive в меньшую. Пока непонятно.
  • Вопрос задан
  • 2771 просмотр
Пригласить эксперта
Ответы на вопрос 2
rdolgov
@rdolgov
попробуйте отключить кэш и потестить
Ответ написан
dodarium
@dodarium
Хм… странности какие-то! А что в логах пишет nginx в момент когда показывает такое? Может от умудряется послать вместо обращения к кешу «хитрый» запрос ачачу. Тут ещё надо логи смотреть апача.

Нужно попробовать убрать: proxy_cache_valid any 5m;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы