Заголовки запроса не так интересны, вы напишите здесь, HTTP заголовки ответа от вашего приложения. И назначите такой ключ для кеша proxy_cache_key "$host$uri$is_args$args"by S.A.N - Nginx Mailing List - Russian
> Статика находится в самом приложении и достать в отдельную директорию > её нельзя. Поэтому ищу решения с кэшем nginx. Тогда все нормально, вам просто нужно настроить механизм кеширования в Nginx, если ваше приложения оby S.A.N - Nginx Mailing List - Russian
> Если я правильно понял, то придёт запрос на статику к nginx он его > отправит к Apache, Apache сделает запрос заголовка Last-Modified, > добавит к нему max-age=1 и тогда nginx будет повторять эту цепочку > каждую секунду. > > По-моемby S.A.N - Nginx Mailing List - Russian
> Мне нужно обновлять определённое значение кэша, сразу же, как я > обновлю какой-то файл. Т.е. не по счётчику nginx. > > Т.е. когда я обновил всего одну картинку или js, мне нужно как-то > сообщить nginx, чтобы он обновил тby S.A.N - Nginx Mailing List - Russian
> Спасибо за советы, а как это будет происходить? > Если я например поменял только один файл js. То как nginx узнает, что > нужно его обновить в кэше? > Получается, что nginx постоянно будет делать запрос к проксированномуby S.A.N - Nginx Mailing List - Russian
> >Но если у вас картинки и так лежат на том же винте в той же файл > системе, тогда нет никакого смысла их копировать в другую папку, > Это я понимаю, просто нет возможности отдавать их напрямую nginx. > > proxy_cache дасby S.A.N - Nginx Mailing List - Russian
proxy_cache, полностью сохраняет HTTP ответ от проксированого сервера, в локал файл и следующие запросы отдает из этого локал файла. Но если у вас картинки и так лежат на том же винте в той же файл системе, тогда нет никакого смby S.A.N - Nginx Mailing List - Russian
> но картинки так кэшировать не > получилось. У вас картинки, хранятся в файлах на том же винте где работает Nginx? Если да, тогда нет смысла их сохранять в локал файлы, по сути будет тоже самое.by S.A.N - Nginx Mailing List - Russian
> proxy_store on; Может, лучше сделать через кеширования а не дублирования контента? Вот что вам нужно http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_validby S.A.N - Nginx Mailing List - Russian
>Добавление: ревалидация элементов кэша теперь, если это возможно, использует заголовок If-None-Match. Отлично, спасибо! Когда появится данная версия в ваших пакетах для CentOS 6? В http://nginx.org/packages/mainline/centos/6/ её ещё нет. Кстатby S.A.N - Nginx Mailing List - Russian
Сегодня, Максим опубликовал патчи которые реализуют указанный функционал, это очень хорошая новость. http://forum.nginx.org/read.php?29,251168 Я так понимаю это финальный код, который войдет в версию Nginx 1.7.3? Так же добавлена возможноby S.A.N - Nginx Mailing List - Russian
Валентин Бартенев Wrote: ------------------------------------------------------- > Вы подменяете понятия. Пока ещё никто из дискутирующих не смог > привести > аргументов за то, что такие запросы не являются валидными. Я никогда не утверждалby S.A.N - Nginx Mailing List - Russian
Валентин Бартенев Wrote: ------------------------------------------------------- > Как уже неоднократно в этой ветке говорилось, nginx в параметрах > HTTP_* пишет > ровно то, что от него требуется: заголовки, пришедшие от клиента, в > том виде, > вby S.A.N - Nginx Mailing List - Russian
Илья Шипицин Wrote: ------------------------------------------------------- > пока что все озвученные сценарии для пользователя приведут к > 400/404/200, ну то есть "назло маме отморожу уши". > ну ок, пользователь специально сконструировал такby S.A.N - Nginx Mailing List - Russian
Maxim Dounin Wrote: ------------------------------------------------------- > Возможно, когда-нибудь мы и придём к тому, что в таких ситуациях > будет возвращаться 400. Но это ни коим образом не избавляет от > необходимости исправить приложение. Прby S.A.N - Nginx Mailing List - Russian
Илья Шипицин Wrote: ------------------------------------------------------- > а чем опасен пункт "3)" ? > мне почему-то кажется, что масштаб бедствия в районе нуля, шум из-за > ничего. > > ну ок, в nginx сработал конфиг для одного значения Host,by S.A.N - Nginx Mailing List - Russian
Илья Шипицин Wrote: ------------------------------------------------------- > а расскажите на примерах, как эту "уязвимость" можно эксплуатировать? Вариантов эксплойтов очень много: 1. SQL иньекции, когда содержимое HTTP_HOST без экранированияby S.A.N - Nginx Mailing List - Russian
> > Maxim Dounin Wrote: > > ------------------------------------------------------- > > > Какая-либо проблема появляется тогда и только > > > тогда, когда администратор начинает писать в конфиге $http_host, > > > не думая о последствиях. Есть мby S.A.N - Nginx Mailing List - Russian
Maxim Dounin Wrote: ------------------------------------------------------- > Какая-либо проблема появляется тогда и только > тогда, когда администратор начинает писать в конфиге $http_host, > не думая о последствиях. Есть мнение, что совсем простое реby S.A.N - Nginx Mailing List - Russian
Gena Makhomed Wrote: ------------------------------------------------------- > > и да, отвечать с 400 статусом тут даже более логично, > потому что если authority component в строке запроса > и в заголовке Host: разные - это явно попытка взлома. > Я так же считby S.A.N - Nginx Mailing List - Russian
> > > Вы прислали FCGI_END_REQUEST, ничего не вернув клиенту, о чём > > > nginx и плачет. Единственное, что он в данном случае может > > > сделать - это вернуть клиенту ошибку. > > > > Это происходит только при выключby S.A.N - Nginx Mailing List - Russian
Валентин Бартенев Wrote: ------------------------------------------------------- > On Monday 17 February 2014 13:21:03 S.A.N wrote: > [..] > > Если я правильно понял, использовать keepalive конекта после > > FCGI_END_REQUEST, не выйдет? > > И есть только два варианта, отказby S.A.N - Nginx Mailing List - Russian
> > Лог ошибки Nginx > > 7945#0: *5 upstream sent unexpected FastCGI record: 3 while > reading > > response header from upstream ... > > Вы прислали FCGI_END_REQUEST, ничего не вернув клиенту, о чём > nginx и плачет. Единственное, что он в данном случае может > сдеby S.A.N - Nginx Mailing List - Russian
При включенном keepalive в upstream к FastCGI бекенду на PHP, появляются ошибки 502, проблему нашли и воспроизводится она таким образом. РНР скрипт, медленные операции выполняет в фон режиме после вызова функции fastcgi_finish_request(), тестовыby S.A.N - Nginx Mailing List - Russian
Стесняюсь спросить, в какой версии планируется реализацию ревалидации по ETag? :)by S.A.N - Nginx Mailing List - Russian
proxy_cache_key "$host$uri;by S.A.N - Nginx Mailing List - Russian
> >> Вопрос, как кэшировать ответы от бэкэнда (статику), чтобы это не > препятствовало основному проксированию ответа http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cacheby S.A.N - Nginx Mailing List - Russian
> Проблема в том, что периодически, раз в 10-20 секунд nginx подгружает > диск записью на 2-5 секунды, изза этого случается лаг и например ответ > от веб сервера можно ждать несколько секунд. Возможно это результат процеby S.A.N - Nginx Mailing List - Russian
vladimircape Wrote: ------------------------------------------------------- > Только вот инструкция fastcgi_cache_revalidate on; для 1.5 версии, > который нету для Cent6,(у меня Fedora16). У нас тоже CentOS, но мы не используем их репозитории для установки Nginx, причин для этогby S.A.N - Nginx Mailing List - Russian
Для убедительности, приведу ещё такой пример. Есть бекенд приложения, которое обслуживает множество хостов, всех этих хостах fastcgi_pass одинаковы, роутинг внутри приложения осуществляется по HTTP_HOST, дело в том, что использby S.A.N - Nginx Mailing List - Russian