ayurganov
@ayurganov

nginx и несколько скриптов

Добрый день.
Установил nginx в качестве frontend-а для apache.

У меня есть некоторая папка, и в ней три скрипта, которые должны кешироваться (в них много sql- запросов — а информация обновляется редко).

Каким образом грамотно составить конфиг nginx?

Сейчас вот так

server {
listen 80;
server_name ___ ___;

location / {
proxy_pass ___:8080;
proxy_cache off;
}

location /та самая папка/ {
expires 1d;
access_log off;
proxy_cache itmorating;
proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$request_uri";
proxy_pass __:8080;
proxy_temp_path /data/www/;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 10s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}


В данном случае проблема в том, что /script.php и /script.php?123123123 — две разные страницы и кешируются два раза, так что злоумышленник может запросто вызвать переполнение кеша.
  • Вопрос задан
  • 2538 просмотров
Пригласить эксперта
Ответы на вопрос 1
alexxxst
@alexxxst
proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$request_uri"; < — смотреть сюда, с тем же успехом игра с заголовками этими делает то же самое, так что надо кэшировать не по всему URI запроса, а только по имени скрипта ($request_filename).
Ответ написан
Ваш ответ на вопрос

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

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