Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

2016-05-10 Пенетрантность S.A.N
> Откуда такая арифметика? Цифры условные - допустим многопоточный бекенд, имеет 10 потоков, каждый поток может работать со скоростью 1к RPS. Задача получить от одного бекенда 10к RPS На НТТР1.1 нужно как минимум открыть 10 конектов, тогда бекенду очень просто привязать каждый конект к своему отде

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

2016-05-10 Пенетрантность S.A.N
> А откуда в вашем случае приросту вообще взяться? Он у вас скорее даст > не > прирост, а наоборот медленнее станет. > > Само по себе мультиплексирование не заставляет сигналы быстрее по > проводам > передаваться, а вот накладных расходов добавляет. Ну это смотря как считать, если в HTTP 1.1 оди

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

2016-05-10 Пенетрантность S.A.N
> Также как и h2 внутри датацентра не нужен. Это протокол заточенный > под общение > браузера с веб-сервером ради экономии на TLS-хэндшейках по сетям с > относительно > высокой задержкой и в условиях крайне ограниченного количества > параллельных > соединений. > > Не стоит забивать микроскопы гво

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

2016-05-10 Пенетрантность S.A.N
Меня интересует H2 в модуле ngx_http_proxy_module (исходящие запросы к бекенду), вы написали про модуль ngx_http_v2_module (входящие запросы от клиентов) Возможно вы хотели сказать что должно работать так: proxy_http_version h2c; но это к сожалению не работает. Posted at Nginx Forum: https://for

proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

2016-05-07 Пенетрантность S.A.N
Наш бекенд работает на HTTP/1.1 в режиме Keep-Alive, но в пикоквые нагрузки, нам приходится держать много открытых конектов. Демон асинхронный, но если один запрос выполняется дольше обычного конект параллельно использовать для других запросов уже не выйдет он просто ждет, хотелось бы попробовать

Re: ревалидация кеша fastcgi

2016-05-04 Пенетрантность S.A.N
VovansystemS Wrote: --- > >> fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match > if_not_empty; > >> fastcgi_param HTTP_IF_MODIFIED_SINCE $http_if_modified_since > if_not_empty; > > > > У вас в конфиге написано: установить заголовки If-N

Re: ревалидация кеша fastcgi

2016-05-04 Пенетрантность S.A.N
Судя по конфигу, у вас проблема с куками, если браузер присылает куки сессии, кеш не работает, curl куки не присылает, ответ отдается из кеша. Убери из конфига fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty; fastcgi_param HTTP_IF_MODIFIED_SINCE $http_if_modified_since if_not_em

Reuse cache Nginx, for any microservices

2016-04-29 Пенетрантность S.A.N
Здравствуйте. Мы все больше используем микросервисы, они имеют уникальные uri, выполняют атомарные операции и отдают JSON ответы, их проксирует и кеширует Nginx. В этих бекенд микросервисах, часто появляются задачи для решения которых нужны ответы от других бекенд микросервисов, приходится внутри

Re: Slice cache

2016-04-19 Пенетрантность S.A.N
Maxim Dounin Wrote: --- > Hello! > > On Tue, Apr 19, 2016 at 03:24:37AM -0400, S.A.N wrote: > > > > По умолчанию range-запросы из кеша работают только в том случае, > > > если в ответе бекенда был заголов

Re: Slice cache

2016-04-19 Пенетрантность S.A.N
> По умолчанию range-запросы из кеша работают только в том случае, > если в ответе бекенда был заголовок Accept-Ranges и должна быть > явно указана длина ответа. Супер, спасибо, отдали Accept-Ranges все работает. Кстати есть ли смысл бекенду сжимать (gzip) свой ответ, если клиенты запрашивают к

Slice cache

2016-04-18 Пенетрантность S.A.N
Здравствуйте. Я хотел бы узнать, Nginx умеет отдавать клиентам из своего кеша, ответы частями? Корректный заголовок Range: bytes... клиент отправляет, но Nginx из кеша отдает весь ответ статус - 200, вместо частичного ответа со статусом 206. По сути нужен функционал обратный модулю Slice. Наш us

Re: Acept systemd.socket

2016-03-19 Пенетрантность S.A.N
> И более правильным, потому что независимо от чей-то любви к > systemd.socket > в данном случае он поставленную задачу НЕ решает. Всяко лучше > устранить > проблему полностью, чем уменьшить её вероятность на несколько > процентов. systemd.socket задачу решает, тесты показали что он заметно ран

Re: Acept systemd.socket

2016-03-19 Пенетрантность S.A.N
Валентин Бартенев Wrote: --- > Это довольно странное желание - чтобы машина, которая по сути ещё не > готова > к работе, частично делала вид, что она готова принимать трафик. Что > вы будете > делать если nginx так и не заработает через 700 мс, а

Re: Acept systemd.socket

2016-03-15 Пенетрантность S.A.N
Evgeniy Berdnikov Wrote: --- > On Tue, Mar 15, 2016 at 11:39:12AM -0400, S.A.N wrote: > > Evgeniy Berdnikov Wrote: > > --- > > > On Tue, Mar 15, 2016 at 10:33

Re: Acept systemd.socket

2016-03-15 Пенетрантность S.A.N
Evgeniy Berdnikov Wrote: --- > On Tue, Mar 15, 2016 at 10:33:10AM -0400, S.A.N wrote: > > Наш use case простой, нужно чтобы на ранней стадии загрузки OS, > нужные порты > > могли принимать конекты, systemd.socket идеальн

Re: Acept systemd.socket

2016-03-15 Пенетрантность S.A.N
Maxim Dounin Wrote: --- > Hello! > > On Tue, Mar 15, 2016 at 01:32:04AM -0400, S.A.N wrote: > > > Есть в планах на ближайшие будущие, реализация принятия сокета от > unit > > systemd.socket? > > Скорее нет,

Acept systemd.socket

2016-03-14 Пенетрантность S.A.N
Здравствуйте. Есть в планах на ближайшие будущие, реализация принятия сокета от unit systemd.socket? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265330,265330#msg-265330 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.

Re: Headers-Not-Case-Sensitive

2016-03-11 Пенетрантность S.A.N
Maxim Dounin Wrote: --- > С nginx'ом - нет. Ok, спасибо. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265230,265251#msg-265251 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailma

Headers-Not-Case-Sensitive

2016-03-10 Пенетрантность S.A.N
В HTTP спецификации, имена заголовков должны быть регистро независимы. Нам на бекенде удобней отдавать все в нижнем регистре, проблем с Nginx или другими прокси не будет? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,265230,265230#msg-265230 _

Re: nginx-1.9.8

2015-12-11 Пенетрантность S.A.N
> > Как понимать "не атомарны"? Может отдаться часть слайса? > > Модуль slice разбивает запрос к бекенду на много range-запросов, а > при отдаче клиенту полученные ответы склеиваются. Соответственно > если в процессе файл на бекенде поменяют - часть ответов будет от > одного файла, часть - от

Re: дубли в кэше

2015-11-10 Пенетрантность S.A.N
> А от его необработки - теряется корректность возвращаемых ответов, > и, e.g., клиенту, который не понимает gzip, может быть возвращён > сжатый ответ из кеша. Т.е., фактически, клиент не получит ответ. > И, более того, администратор сможет узнать об этом только в том > случае, если пользоват

Re: дубли в кэше

2015-11-10 Пенетрантность S.A.N
> Поддерживаю Антона: поведение совершенно неожиданное, и к тому же > никак не описанное в документации. Прежде всего нужно эту засаду > задокументировать, чтобы прилежные читатели не налетали на грабли. Это не засада, это описано в спеке HTTP/1.1 :) Если разработчики бекенда не знают специфика

Re: Проблемы с бэкэндом на http2

2015-10-19 Пенетрантность S.A.N
> Но проблема несколько шире. Уже много фреймфорков написанных чисто на > http 2.0 (gRPC - и это только начало), которые не содержат большого > количества ненужного кода для поддержки http 1.1 просто потому что он > не нужен и смысла в нем минимум. Я думаю, это вопрос денег, если проспонсируете ра

Re: nginx и js файлы проб лемма с кодировкой

2015-08-19 Пенетрантность S.A.N
Да, такая проблема была, помогло выключения sendfile: sendfile off; Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261118,261120#msg-261120 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Не запускается PhpMyAdmin

2015-08-11 Пенетрантность S.A.N
> Теперь законный вопрос, что же не так я делаю с ним: > zend_extension="/usr/local/lib/php/20100525/eaccelerator.so" Если есть возможность, обновите версию РНР до 5.6, там из коробки отличный OPCache, eAccelerator ненужен. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,260893,260933#

Re: Поддержка протокола HTTP/2 в NGINX

2015-08-06 Пенетрантность S.A.N
Если бекенд, выдаст заголовок: Link: ; rel=preload; as=script Nginx, отдаст браузеру содержимое файла my.js или только заголовок от бекенда? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,260805,260836#msg-260836 ___ nginx-ru mailing list n

WebSocket - todo

2015-08-02 Пенетрантность S.A.N
После очередной настройки проксирования websocket сервера, меня все больше удивляет, почему в Nginx нет модуля websocket, c директивами websocket_*? Модуль нужен не только для красоты конфига, он может хранить под капотом оптимальные дефолт настройки и кучу проверок на отсеивания заведомо инвалидн

Re: Re[2]: Частичный сброс кеша / сброс кеша для отдельного server name или location

2015-07-17 Пенетрантность S.A.N
> Есть стандартное решение, которое работает с любым кэшем: nginx-а, > memcached-а и т.д. > > В значение ключа кэширования добавьте счётчик. Отдельный для каждого > куска кэша, который хотите вычищать. Когда надо будет вычистить кэш, > увеличьте на 1 значение нужного счётчика в тексте к

Re: Re: Re: Re: Re: Наследование fastcgi param

2015-06-27 Пенетрантность S.A.N
Amanda Sproule Wrote: --- > >>И возьмём упомянутые 400 location. > > поправлю - не локейшенов а server контекстов. Да, для такого хозяйства нужен менеджер конфигов. Советую ещё вспомнить что Nginx это реверс прокси, он может общаться с бекендом

Re: Re: Наследование fastcgi param

2015-06-27 Пенетрантность S.A.N
> А я думал, что конфиг _декларативный_, а из _императивного_ там > только > if-is-evil. Кто из нас ошибается(?), мне интересно... O_o Если бы конфиг Nginx, был декларативным, вместо директив были бы декларации :), наличия директив делает его императивным. Вы наверно воспринимаете конфиг как скрип

Re: Re: Наследование fastcgi param

2015-06-26 Пенетрантность S.A.N
> Согласен, приведите аргументы к выше указанному вопросу и на этом > закончим > разговор. Лучший аргументом может быть два примера решения вашей задачи, один с использованием наследования директив, второй вариант -копипаст который предлагают разработчики Nginx. Ваш вариант с наследованием мне и

Re: Наследование fastcgi param

2015-06-26 Пенетрантность S.A.N
> Начать тут нужно с того, что php не thread safe и может безопасно > исполняться > только в отдельных процессах. Пулы потоков ему ни чем не помогут. В РНР есть модификация - ZTS (Zend Thread Safety), но там тоже конечно не все так хорошо. > Проще забыть про php, как про страшный сон. ;) Мы не

Re: Наследование fastcgi param

2015-06-25 Пенетрантность S.A.N
Почитал статью про thread pools в Nginx, появилась надежда что когда-то появится Nginx модуль РНР, который будет обрабатывать запросы к РНР скриптам внутри процеса Nginx (без блокировки, каждый скрипт использует свободный thread из пула), тогда про отличия FastCGI и http_proxy можно будет забыть.

Re: проблема с rewrite

2015-06-23 Пенетрантность S.A.N
> как решить проблему добавления слеша в конец? Офтоп - никогда не понимал, зачем бороться со слешами в конце uri, их можно использовать на бекенде в алгоритмах роутинга. Например в наших роутингах слеш в конце означает что uri адресуется к множеству сущностней (аля папка), отсутствия слеша в конц

Re: $args - сделать нормализованным

2015-06-09 Пенетрантность S.A.N
> Это разные запросы. Кроме php есть же и другие языки. Например в java > и RoR > массивы передаются в GET именно так как вы написали. В java и RoR, чтобы передать масив id, нужно писать id=1&id=100? Жаль конечно, в РНР масивы передаются в другом формате id[]=1&id[]=100 Posted at Nginx Forum: ht

$args - сделать нормализованным

2015-06-09 Пенетрантность S.A.N
Есть нормализованная переменная $uri, но нет нормализованной $args, но она реально нужна, попробую объяснить. Наш ключ к кешу и REQUEST_URI к бекенду = $uri$is_args$args, нормализованный $uri очень удобен, но не нормализованный $args создает проблемы - дубликаты в кеше и флуд на бекенд. Например

Re: fastcgi_param REQUEST_SCHEME $scheme

2015-06-03 Пенетрантность S.A.N
> Однако в целом мне такой подход кажется куда более правильным, чем > неочевидные проверки параметра HTTPS (который тоже ни разу не > стандартный), и наверное добавить в fastcgi_params по умолчанию > стоит. Ок, спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259351,259359#

fastcgi_param REQUEST_SCHEME $scheme

2015-06-02 Пенетрантность S.A.N
РНР скрипты которые работали под Apache, получали перемененную окружения REQUEST_SCHEME, в fastcgi_params этот параметр не назначается, я прописал fastcgi_param REQUEST_SCHEME $scheme. Вопрос, не нарушил ли я спецификацию FastCGI, если нет, тогда почему этот параметр не указан в fastcgi_params из

Re: cache_methods GET HEAD

2015-05-27 Пенетрантность S.A.N
> Поверх этого кода есть ещё прослойка в виде php_fpm. Возможно что он > смотрит на метод. Да, php_fpm не отдает тело ответа, если REQUEST_METHOD = HEAD. Эти нюансы могут стать проблемой, для РНР скриптов которые работали под Апачем, Nginx проксировал HTTP запросы к Апачу и кешировал, если эти Р

Re: cache_methods GET HEAD

2015-05-27 Пенетрантность S.A.N
>fastcgi_param REQUEST_METHOD $request_method; > Cтрого говоря в случае протокола FastCGI такого понятия, как запрос > "HEAD методом" не существует Спасибо, теперь все понятно. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259148,259178#msg-259178 __

Re: cache_methods GET HEAD

2015-05-27 Пенетрантность S.A.N
> В новых версиях ничего не менялось в этом отношении. В Nginx/1.9.1, с включенным кэшированием, на бекенд отправляется запрос HEAD методом. Вот простой скрипт РНР. curl -i -X HEAD http://host.dev/ HTTP/1.1 200 OK Server: nginx/1.9.1 Date: Wed, 27 May 2015 11:36:15 GMT Content-Type: text/html

cache_methods GET HEAD

2015-05-26 Пенетрантность S.A.N
При запросе методом HEAD, в кеше сохраняются только заголовки ответа. При следующем запросе методом GET, Nginx отдает из кеша ответ в котором нет тела, только заголовки. Раньше Nginx при запросе методом HEAD, на бекенд отправлял запрос методом GET, в кеш сохранял ответ бекенда, клиенту отдавал тол

Re: Как вернуть размер проксируемого ответа?

2015-05-24 Пенетрантность S.A.N
>более штатных способов нет? Возможно, $upstream_response_length, но я не проверял. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259066,259090#msg-259090 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listin

Re: gzip не сжимает text/html

2015-05-15 Пенетрантность S.A.N
> хм...интересная идея..у меня Касперский...попробую вечером его > выключить...но как тогда объяснить что он не разжимает на лету css и > js Вы можете проверить на других сайтах, например http://habrahabr.ru/ если в ответе не будет Content-Encoding: gzip, значит проблема на вашей стороне (антивиру

Re: gzip не сжимает text/html

2015-05-15 Пенетрантность S.A.N
> Хотя если выполнить wget с аналогичными броузерными заголовками, то > все в порядке - приходит такой ответ Возможно ваш антивирус или фаирвол, делает декомпресию на лету, тогда ваш браузер будет приходить незжатые страницы. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258883,25889

Re: Если тело ответа пустое, отдавать Content-Length: 0, вместо Transfer-Encoding: chunked

2015-05-13 Пенетрантность S.A.N
> Он отдает Transfer-Encoding: chunked когда размер ответа заранее > неизвестен. Я это понимаю, но думал что где-то на уровне буферизации ответа, Nginx может узнать что тело пустое, то того как начал передавать клиенту заголовки ответа. Но на нет и суда нет. Posted at Nginx Forum: http://forum.

Если тело ответа пустое, отдавать Content-Length: 0, вместо Transfer-Encoding: chunked

2015-05-13 Пенетрантность S.A.N
По умолчанию, Nginx отдает ответ Transfer-Encoding: chunked, даже когда длина тела ответа равна нулю. Это мелочь, но будет лучше, если в этой ситуации Nginx будет отдавать Content-Length: 0. Такой ответ короче и более удобный для HTTP клиентов. Posted at Nginx Forum: http://forum.nginx.org/read

Re: nginx-1.8.0

2015-04-21 Пенетрантность S.A.N
mainline version будет 1.9, или будет только одна ветка stable а mainline удалите? Я спрашиваю, чтобы правильно отредактировать путь для repo в CentOS, сейчас так: http://nginx.org/packages/mainline/centos/7/$basearch/ Этот baseurl останется актуальным? Posted at Nginx Forum: http://forum.nginx.

Re: proxy_cache_revalidate

2015-04-12 Пенетрантность S.A.N
> а вот лог backend, видно что при ревалидации отдает не только 304, но > и полную сущность, а не только заголовок Бекенд, не должен отдавать тело ответа со статусом 304, вам достаточно отдать только заголовки и статус 304. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257971,257978

Re: proxy_cache_revalidate

2015-04-12 Пенетрантность S.A.N
> в чем тут проблема? как не загружать с бекенда полностью весь ответ > (1048769 bytes), а только обновить данные что кеш валидный затратив на > это всего 4096 bytes Если if-Modified-Since/If-None-Match валидные, отдавайте 304 статус, без тела ответа. Posted at Nginx Forum: http://forum.nginx.or

Re: Cache revalidation using If-None-Match

2015-04-01 Пенетрантность S.A.N
> Extension", http://tools.ietf.org/html/rfc5861#section-4. Т.е. > возможность задать в заголовках ответа - можно ли этот ответ в > дальнейшем использовать при ошибках Chrome, реализовал директиву stale-while-revalidate, опция пока что экспериментальная её нужно активировать: chrome://flags/#enabl

Re: общий кэш для нескольких nginx

2015-03-23 Пенетрантность S.A.N
> На фронте имеется n-ое количество nginx которые выступают в качестве > балансировщиков. > Нужно наладить единый кэш для всех фронтенд nginxов. Какие есть > возможности > в nginx для реализации этой задачи? Если я правильно понял вашу задачу, проблем нет, просто укажите всем Nginx одинаковый prox

Re: Cache_min_uses - check increment

2015-03-17 Пенетрантность S.A.N
> Изменения в nginx 1.7.8, > 02.12.2014: > > *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им >подобные в заголовке запроса клиента передаются бэкенду при >включённом кэшировании, если nginx заранее знает, что не будет >кэшировать ответ (например, при ис

Cache_min_uses - check increment

2015-03-16 Пенетрантность S.A.N
Здравствуйте. Если счетчик cache_min_uses, будет срабатывать только на ответы бекенда в которых нет запрета на публичное кеширования, тогда ответ с заголовков Cache-Control: private, не должен изменить счетчик cache_min_uses, Nginx должен передать бекенду, все условные заголовки клиента. Тогда бе

Re: gzip_to_cache

2015-02-17 Пенетрантность S.A.N
Валентин Бартенев Wrote: --- > Конечно, у задачи сжатия перед кэшированиям тоже есть свои юзкейсы, но > её реализация не так проста, как может показаться. Скорее всего для > этого > придется переписать весь механизм кэширования или добавлять еще

Re: gzip_to_cache

2015-02-17 Пенетрантность S.A.N
Валентин Бартенев Wrote: --- > nginx - это такой веб-сервер, с помощью которого можно измерить > производительность ab, но не наоборот. :) Вот по этому, компрессию лучше производить в Nginx, в кеше сохранять сжатый ответ. Posted at Nginx Forum:

Re: gzip_to_cache

2015-02-17 Пенетрантность S.A.N
Gena Makhomed Wrote: --- > Каким образом скорость соединения с клиентом > влияет на время *блокировки* воркера nginx ? > > nginx работает с сетью в неблокирующем режиме. Да, вы правы, медленный клиент не блокирует воркер, но компрессия ответа в

Re: gzip_to_cache

2015-02-17 Пенетрантность S.A.N
Gena Makhomed Wrote: --- > Совершенно не понятно, почему лучше будеть сжимать ответы бекенда > на стороне nginx, а не на самом бекенде, особенно если учесть, что: > > 1) любая "долгоиграющая" операция (например, компрессия ответа > бекенда) > над

gzip_to_cache

2015-02-17 Пенетрантность S.A.N
При кешировании ответов бекенда, нужно научить Nginx предварительно сжимать ответ бекенда, если данный ответ соответствует указанному gzip_types. Раньше это было сложно по многим причинам, не было модуля gunzip и не было weak ETag, но сейчас есть все необходимое чтобы использовать gzip до сохранен

Re: nginx-1.7.8

2014-12-03 Пенетрантность S.A.N
Михаил Монашёв Wrote: --- > Здравствуйте, Maxim. > > > *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им > >подобные в заголовке запроса клиента передаются бэкенду при > >включённом кэшировании, если nginx заран

Re: nginx-1.7.7

2014-10-28 Пенетрантность S.A.N
> Изменения в nginx 1.7.7 > 28.10.2014 > > *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" > в >заголовке ответа бэкенда. Где можно почитать подробности влияния Vary, на кеширования в Nginx? Posted at Nginx Forum: http://f

Re: Минимальное время кеширования

2014-10-03 Пенетрантность S.A.N
Евгений Удовихин Wrote: --- > В общем разобрался, просто в header функция time в принципе > некорректно > себя ведет, если вывести time()+1 в отдельную переменную и > подставлять, то > тогда все работает. Спасибо всем. Сори, я не ставил скобки в

Re: Минимальное время кеширования

2014-10-03 Пенетрантность S.A.N
Вы указываете временную дельту равной 1 секунде, относительно от последнего запроса к РНР бекенду. Возможно вам больше подойдет вариант указывать абсолютный unix time. Как-то так header('X-Accel-Expires: @'.time() + 1); Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253754,253756#msg-

Re: ssi_etag

2014-09-22 Пенетрантность S.A.N
> В nginx 1.7.3+ при включении ssi_last_modified не удаляются weak > entity tags (а strong преобразуются в weak), что позволяет > ревалидировать SSI-ответы по ETag в том числе. Ok, спасибо Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253455,253464#msg-253464 _

ssi_etag

2014-09-21 Пенетрантность S.A.N
В документации не нашел, описания как включить ревалидацию по ETag, для модуля SSI, аналог SSIETag в Apache . В Nginx, ssi_etag уже есть, или пока что в разработке? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253455,253455#msg-253455 ___

Re: nginx-1.7.3

2014-09-01 Пенетрантность S.A.N
> Надо только - чтобы Epoch у пакетов из репозиториев nginx.org был выше > чем у пакета nginx из репозитория EPEL и других сторонних > репозиториев. > > Потому что EPEL содержит много полезных пакетов и его очень часто > подключают к CentOS - в том числе и вместе с репозиторием от nginx.org Согла

Re: nginx-1.7.3

2014-09-01 Пенетрантность S.A.N
> > Да, думаю будет правильным если Nginx из ветке mainline, будет иметь > Epoch > > выше чем у ветки stable. > > Нет. Epoch не надо применять там, где достаточно будет версии пакета. > Если значение Epoch одинаково - rpm тогда смотрит на версию пакета. > Делать разный Epoch для nginx mainline и n

Re: nginx-1.7.3

2014-09-01 Пенетрантность S.A.N
> 2. с помощью плагина yum-plugin-priorities настроить приоритеты > репозиториев таким образом, чтобы у EPEL был более низкий приоритет. > это в любом случае полезно настроить для всех используемых > репозиториев Спасибо, так и сделали. > 3. попросить мантейреров пакета из nginx.org чтобы они

Re: nginx-1.7.3

2014-09-01 Пенетрантность S.A.N
> Пакеты для CentOS 7 доступны. > > http://nginx.org/en/linux_packages.html#mainline После, выхода EPEL репозитория для CentOS 7, наблюдается проблема с обновлением Nginx. http://ftp.tlk-l.net/pub/mirrors/fedora-epel/7/x86_64/repoview/epel-release.html yum update - постоянно пытается обновить ус

Re: Чистка кэша nginx.

2014-07-18 Пенетрантность S.A.N
> Всегда их включать? Они так постоянно будут уходить к клиенту. > Или только, когда нужно, добавлять в конфиг. Включать всегда их не нужно. Включать нужно только на стадии разработки, для удобства дебага. Так удобней и не придется заглядывать в логи Nginx и в логи приложения, чтобы определить от

Re: Чистка кэша nginx.

2014-07-18 Пенетрантность S.A.N
> Эти заголовки будут содержаться в закэшированном ответе, но как они > могут мне помочь? Нет, эти заголовки не попадают в файл кеша Nginx. Заголовки пойдут в браузер, вы сможете их посмотреть в браузере и точно знать, состояния файла кеша. Posted at Nginx Forum: http://forum.nginx.org/read.php?

Re: Cache revalidation using If-None-Match

2014-07-18 Пенетрантность S.A.N
> Всеравно nginx отдаст 304 ответ из своего кеша еще быстрее, > чем веб-приложение на которое он проксирует запросы клиентов. Да, конечно. Но вы не сможете постоянно хранить ответы в кеше, их придется когда-то ревалидировать. Я долгое время не понимал, необходимости в ревалидации, считал это лишн

Re: Чистка кэша nginx.

2014-07-18 Пенетрантность S.A.N
> Я собираюсь иногда чистить его самостоятельно, никаких проблем не > должно возникнуть? Скорей всего всё будет без проблем. Проблемы будут если вы начнете редактировать файлы кеша, особенно в новых версиях Nginx. Например если в кеше отредактировать значения ETag, сделать запрос, Nginx уходит в а

Re: Cache revalidation using If-None-Match

2014-07-17 Пенетрантность S.A.N
> Причина в бекенде, да. Но переписать весь софт "правильно" > - не хватит времени и сил. Например, вот та же MediaWiki. Кстати MediaWiki, использует переменую $_SERVER['HTTP_HOST'] без всякой проверки. Если вы используете MediaWiki, советую поискать в коде $_SERVER['HTTP_HOST'] и изучить степень

Re: Cache revalidation using If-None-Match

2014-07-17 Пенетрантность S.A.N
> В результате: минимальный overhead, максимальная производительность. В целом я с вами согласен. С удалением валидаторов, можно мирится, ради производительности. Так же можно настроить в конфиге все нужные location в которых нужно выключать кеширования, я тоже знаю как это делать. Просто мне инт

Re: Cache revalidation using If-None-Match

2014-07-17 Пенетрантность S.A.N
> Это у вас тоже layering violation, только уже в другую сторону. Возможно, но в моей практике, нередко были моменты когда что-то описывается в конфиге Nginx, потом что-то меняется в логике бекенда, все уже забыли что там в конфигах Nginx, и получаем диссонанс логики бекенда и Nginx. Если вы посм

Re: Cache revalidation using If-None-Match

2014-07-17 Пенетрантность S.A.N
> Есть один способ: > http://www.lexa.ru/nginx-ru/msg30320.html > > И второй способ: просто не включать кеширование > на стороне nginx в тех location`ах, где оно не нужно. Есть и третий способ if ($upstream_status = 304) { set no_cache = 1; } fastcgi_no_cache $no_cache; Ещё как вариант, Nginx

Re: nginx-1.7.3

2014-07-16 Пенетрантность S.A.N
> Пакеты для CentOS 7 доступны. > > http://nginx.org/en/linux_packages.html#mainline Да, спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251548,251862#msg-251862 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org

Re: Cache revalidation using If-None-Match

2014-07-15 Пенетрантность S.A.N
Наверно стоит объяснить почему логику кеширования мы вынесли на бекенд и минимально используем конфиг Nginx. Нашим бекендом, пользуются не только браузеры но и мобил приложения, у них логика кеширования очень продвинутая, там учитывается временное пропадания online, в этом случаи клиентское прилож

Re: Cache revalidation using If-None-Match

2014-07-15 Пенетрантность S.A.N
> Если я правильно понял этот поток текста, то на выходе вы хотите > получить что-то вроде "The stale-if-error Cache-Control > Extension", http://tools.ietf.org/html/rfc5861#section-4. Т.е. > возможность задать в заголовках ответа - можно ли этот ответ в > дальнейшем использовать при ошибках.

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >Но все эти детали лучше не говорить тем кто только начинает изучать > механизмы кеширования в Nginx ) > Почему? Чтобы не пугать, раньше времени ) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251837#msg-251837 ___ nginx-ru mailin

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> "логика кеширования в Nginx такая же как в браузерах", - есть и > отличия: > > http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cac > he_bypass > > если выполняется условие fastcgi_cache_bypass и не выполняется > условие fastcgi_no_cache - то это и будет out-of-order обновлени

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >С этого и надо было начинать, они нужны обязательно если вы хотите > клиенту отдавать 304 без контента. > А можно ли создавать ETag и Last-Modified на стороне nginx и для > статики и для динамики? > > есть директива etag on; но написано что она только для статики > автоматом вычисляет его. >

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >Я имел виду, ревалидация В приложении это - RESTful стиль. > > Не знал, насколько я знаю, обычно REST преподносят, как набор > методов(действий), которые можно выполнить с объектом и путь к этому > объекту. Да, но не только, основная идея в том, что клиент и сервер могут полностью описать своё

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >Это понятно, ревалидировать кеш на в приложении - это стиль RestFull > приложений, > НЕ в приложении? Я имел виду, ревалидация В приложении это - RESTful стиль. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >те кто обновляет страницу в ручную будут получать 304 статус без > контента, > Только если в запросе, который должен закэшироваться, был > заголовок-валидатор(ETag, Last-Modified) иначе нечего будет > сравнивать. > У меня сейчас нет их и nginx отдаёт 200. С этого и надо было начинать, они нужн

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> Значит моя схема вполне жизнеспособна и не выглядит нормально? Кладём > основную нагрузку на nginx и немного на браузер. Я думаю да, но лучше проконсультироватся у разработчиков Nginx, как реагирует Nginx если кеш файлы исчезают, без его ведома, я думаю он нормально реагирует, но мало ли какие т

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> Я нажимал не F5, а кнопку браузера, что видимо эквивалентно. Но я > тогда не понимаю, когда вообще юзеру поможет браузерный кэш? > Когда он будет по ссылкам ходить, только тогда из кэша браузера будет > доставаться? Да, обычные посетители сайта, обычно переходят на страницы по ссылкам, те кто об

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
> >Эта схема защитит ваше приложения от нагрузки, но она никак не сможет > актуализировать кеш быстрей чем это указанно в max-age. > Я же сказал, что мы можем чистить кэш nginx когда нам это нужно. Если у вас есть сторонний процесс который чистит кеш, тогда конечно можно использовать эту схему.

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >Нет, на протяжении 600 секунд, браузер НЕ БУДЕТ делать запрос к > серверу вообще, потому что вы ему сказали, что кеш можно использовать > без ревалидации на протяжении 600 секунд. > > А у меня запросы идут к nginx, те бра

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >В этом случаи приложения должно уметь очень быстро проверять > If-Modified-Since с текущим Last-Modified, если они равны отдавать > 304, если нет отдавать новый контент и статус 200. > > Под это нужно специально готовить

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > Большое спасибо за ответ, теперь понял. > > А если браузер присылает в запросе Cache-Control: no-cache(или > max-age=0), что часто бывает, а я хочу отдавать кэш, мне как-то > игнорировать этот заголовок или если из приложе

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Нет, на протяжении 600 секунд, браузер НЕ БУДЕТ делать запрос к серверу вообще, потому что вы ему сказали, что кеш можно использовать без ревалидации на протяжении 600 секунд. После истечения 600 секунд, браузер сделает запрос к серверу, передаст ему If-Modified-Since, Nginx сравнит значения If-Mod

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Budulianin Wrote: --- > >Зачем вы выбрали такое значения Cache-Control: max-age=600 no-cache? > > Этой строчкой я хотел сказать браузеру: держи у себя кэш 600 секунд, > но при каждом запросе отправляй заголовки(видимо If-modified-since) > Потому

Re: Вопрос об управлении кэшем nginx.

2014-07-15 Пенетрантность S.A.N
Лучше управлять кешированием из приложения, это более правильное решения и более гибкое, таким образом приложения самостоятельно решает какой контент на какой период кешировать и эти же заголовки отправятся в браузер и тогда не надо будут костыли в виде ignore_headers и hide_header, потому что прил

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
Да, директивы uwsgi_cache_valid для этого и придумали, чтобы управлять кешированием, если бекенд приложения не может самостоятельно отправить правильные заголовки. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,251763,251788#msg-251788 ___ n

Re: Вопрос об управлении кэшем nginx.

2014-07-15 Пенетрантность S.A.N
Если так uwsgi_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; uwsgi_hide_header Set-Cookie; uwsgi_cache_valid 200 10m; Тогда не важно какие заголовки отправил проксируемый сервер (бекенд), ответ будет закеширован на 10 минут, этим занимается директива http://nginx.org/ru/docs/h

Re: Нет uwsgi set header, чем заменить?

2014-07-15 Пенетрантность S.A.N
>Я хочу принять ответ от uwsgi, > добавить в него пару заголовков и отдать клиенту. > Фактически добавить заголовки в ответ nginx. > Я таким образом хочу управлять кэшем. Вы таким образом сможете управлять только кешем браузера, если хотите управлять кешем Nginx, нужно чтобы ваше приложения отдава

Re: Cache revalidation using If-None-Match

2014-07-14 Пенетрантность S.A.N
Nginx 1.7.3, отличная версия, в ней полностью решен вопрос с ETag. Но есть мелочи которых очень не хватает, их всего две ) 1. Нельзя получить от клиента валидаторы (“If-Modified-Since” и “If-None-Match”) если файла кеша нет, эта ситуация возникает когда бекенд отдавал заголовки Cache-Control: pri

Re: Как определить, сколько уже хранится кэш?

2014-07-13 Пенетрантность S.A.N
Budulianin Wrote: --- > >Pragma - это костыльный заголовок который вообще не стоит > использовать для кеширования > Он для HTTP 1.0 Костыльность Pragma, заключается в том что это заголовок запроса а не ответа, потом его начали использовать как за

<    1   2   3   >