Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
Ребята, мне нужен ебаный кеширующий reverse http proxy. Работать он должен предельно просто. Если в кеше есть запись, то он оправляет запрос с заголовком If-Modified-Since к бекенду. Если бекенд отвечает 304 Not Modified — прокси должен отдавать свою закешированную запись. Если бекенд отвечает 200 OK — прокси должен засунуть свою копию себе в задницу, а вместо нее взять вариант от бекенда. НЕ ДОЛЖНО БЫТЬ НИКАКИХ ЕБАНЫХ ВРЕМЕННЫХ ИНТЕРВАЛОВ. НИГДЕ, БЛЯДЬ. Если запись была закеширована наносекунду назад — прокси все равно должен пиздовать к бекенду с If-Modified-Since. ТОЛЬКО БЕКЕНД ДОЛЖЕН РЕШАТЬ, ИНВАЛИДИРОВАТЬ КЕШ ИЛИ НЕТ. Я поебался с nginx’ом и раком, и боком, и разуверился в том, что он умеет так работать. Че дальше? Squid брать, или вообще сраный варниш?
Рекомендовали: @sin-ok @l29ah
#D70RYJ / @komar / 3494 дня назад

Запили кеш на бекэнде, дунч.
#D70RYJ/Q1N / @anonim / 3494 дня назад
было у комара в блоге, посмотри там.
#D70RYJ/S4J / @anonymous / 3494 дня назад
@anonim Пошел нахуй.
#D70RYJ/L46 / @komar --> #D70RYJ/Q1N / 3494 дня назад
@anonymous Пошел нахуй.
#D70RYJ/OQS / @komar --> #D70RYJ/S4J / 3494 дня назад
напиши уже свой, хуле ты мозги ебёшь, простой же юзкейс.
#D70RYJ/FYI / @anonymous / 3494 дня назад
@anonymous Свое написать любой дурак может.
#D70RYJ/2ZX / @komar --> #D70RYJ/FYI / 3494 дня назад
@komar пруф или комар не может
#D70RYJ/LQU / @anonymous --> #D70RYJ/2ZX / 3494 дня назад
@anonymous Пошел нахуй.
#D70RYJ/Z9I / @komar --> #D70RYJ/LQU / 3494 дня назад
@komar Ну блядь, биндинги для какого-нибудь memcached есть в любом говне, если ты там не на хаскеле канеш пишешь.
#D70RYJ/OBD / @anonim --> #D70RYJ/L46 / 3494 дня назад
@komar и вы получаете 1 (один) токен комаробатхёрта.
#D70RYJ/O5H / @anonymous --> #D70RYJ/Z9I / 3494 дня назад
@anonim Да съеби нахуй, клоун.
#D70RYJ/5QY / @komar --> #D70RYJ/OBD / 3494 дня назад
@komar Пук.
#D70RYJ/QT1 / @anonim --> #D70RYJ/5QY / 3494 дня назад
А что конкретно nginx делает не так? Может это фиксится методом комментирования пары строчек.
#D70RYJ/GVD / @l29ah / 3494 дня назад
@l29ah Нет, я не хочу модифицировать исходники nginx’а.
#D70RYJ/OFQ / @komar --> #D70RYJ/GVD / 3494 дня назад
@l29ah Вообще он ничего не далает так. Там куча вариантов конфигурирования с взаимоисключающими опциями, и при всех возможных вариантах он делает че-то не то.
#D70RYJ/JKS / @komar --> #D70RYJ/GVD / 3494 дня назад
>Если бекенд отвечает 304 Not Modified хуйня какая-то. какой тогда вообще профит от кеша если каждый раз бекенд ебать?
#D70RYJ/07Q / @anonymous / 3494 дня назад
@anonymous Да съеби уже.
#D70RYJ/H2X / @komar --> #D70RYJ/07Q / 3494 дня назад
напишу на ноде за 0.2 бетховена
#D70RYJ/A3W / @krkm / 3494 дня назад
@komar но это твой тред!
#D70RYJ/0BO / @anonymous --> #D70RYJ/H2X / 3494 дня назад
@anonymous Поэтому и съеби.
#D70RYJ/P72 / @komar --> #D70RYJ/0BO / 3494 дня назад
@komar тродиции бнв - не забуду, не нарушу
#D70RYJ/5ZK / @anonymous --> #D70RYJ/P72 / 3494 дня назад
#D70RYJ/7OG / @komar --> #D70RYJ/A3W / 3494 дня назад
sudo apt-get install komar-cache
#D70RYJ/SIO / @mugiseyebrows / 3494 дня назад
@mugiseyebrows Съеби.
#D70RYJ/4XR / @l29ah --> #D70RYJ/SIO / 3494 дня назад
@l29ah /me покормил лаваша мюслями с рук
#D70RYJ/IQ1 / @komar --> #D70RYJ/4XR / 3494 дня назад
@krkm Хули там писать, npm install connect-memcached --save
#D70RYJ/ARX / @anonim --> #D70RYJ/A3W / 3494 дня назад
@anonim хуле ты демпингуешь
#D70RYJ/OIN / @anonymous --> #D70RYJ/ARX / 3494 дня назад
@anonymous уебуйте оба
#D70RYJ/ZC4 / @komar --> #D70RYJ/OIN / 3494 дня назад
@komar см /0BO
#D70RYJ/E0I / @anonymous --> #D70RYJ/ZC4 / 3494 дня назад
@anonim хули ты палишь бля, я тут лошка развожу
#D70RYJ/UEX / @krkm --> #D70RYJ/ARX / 3494 дня назад
@krkm Нахуя мне твой обоссаный мемкашд, куркумежик?
#D70RYJ/F05 / @komar --> #D70RYJ/UEX / 3494 дня назад
@komar npm install express-redis-cache тогда, какая разница, под все биндинги написаны уже за тебя. Нахуй впихивать какую-то ебаную логику в нгинкс?
#D70RYJ/M9J / @anonim --> #D70RYJ/F05 / 3494 дня назад
@anonim Но он же наоборот хочет логику выпинуть.
#D70RYJ/N59 / @l29ah --> #D70RYJ/M9J / 3494 дня назад
@l29ah он вообще хуйню какую-то хочет, чтобы было.
#D70RYJ/V71 / @anonymous --> #D70RYJ/N59 / 3494 дня назад
@l29ah Он хочет пиздец какой-то, чтобы нгинкс кешировал, но на самом деле не кешировал, а дергал бекэнд каждый раз, очевидное решение, если ты не хочешь кеширования нгинксом - кешировать ненгинксом.
#D70RYJ/VXS / @anonim --> #D70RYJ/N59 / 3494 дня назад
@komar ну ты бля дурак ебаный бля, от чистого сердца предлагаю продакшн-рэди ноджс редис солюшн для вашего тырпрайза а ты тут завыебывался. нихуя ты так никаких инвестиций не поднимешь, слушай меня дурак ебаный бля
#D70RYJ/BD8 / @krkm --> #D70RYJ/F05 / 3494 дня назад
@anonim Че блядь. Ты знаешь вообще зачем нужен 304 Not Modified?
#D70RYJ/XRC / @l29ah --> #D70RYJ/VXS / 3494 дня назад
@krkm Куркумежик, оставь свои остроумнейшие шутки для совего петушиного цирка.
#D70RYJ/NM1 / @komar --> #D70RYJ/BD8 / 3494 дня назад
@komar но это твой тред!
#D70RYJ/HKT / @anonymous --> #D70RYJ/NM1 / 3494 дня назад
@l29ah Либо он тупой и не знает, либо считает, что абсолютно любое дерганье бекенда стоит одинаково.
#D70RYJ/ZBV / @komar --> #D70RYJ/XRC / 3494 дня назад
@komar но это ведь твой петушиный цирк
#D70RYJ/52U / @krkm --> #D70RYJ/NM1 / 3494 дня назад
@l29ah вообще похуй на самом деле //тупой штоле
#D70RYJ/E6V / @anonymous --> #D70RYJ/XRC / 3494 дня назад
@krkm Именно, что мой. Уебуй в свой петушарий.
#D70RYJ/036 / @komar --> #D70RYJ/52U / 3494 дня назад
@komar а то что?
#D70RYJ/H1E / @krkm --> #D70RYJ/036 / 3494 дня назад
@komar Либо считает, что инвалидация кеша — это рокет сцаенс, а кешировать надо НА ВРЕМЯ.
#D70RYJ/N7V / @komar --> #D70RYJ/ZBV / 3494 дня назад
@komar так зачем дёргать если можно не дёргать //ну тупыыые!
#D70RYJ/3UW / @anonymous --> #D70RYJ/ZBV / 3494 дня назад
@anonymous Затем, что только бекенд может знать, актуальна ли копия в кеше.
#D70RYJ/YTY / @komar --> #D70RYJ/3UW / 3494 дня назад
@komar Это как работает нгинкс, он не умеет в другое (хотя там есть велосипед какой-то для пурджинга хуйни из кеша), и не будет уметь.
#D70RYJ/NTT / @anonim --> #D70RYJ/N7V / 3494 дня назад
@anonim Спасибо, первый полезный комментарий в этом треде, хоть и не решает проблемы.
#D70RYJ/OYA / @komar --> #D70RYJ/NTT / 3494 дня назад
@komar чё несёшь, у тебя кеша-то ещё нет.
#D70RYJ/XW7 / @anonymous --> #D70RYJ/YTY / 3494 дня назад
@komar А чтобы решить проблему нужно отрубить кеширование в нгинксе и добавить две строчки в бекэнд.
#D70RYJ/QAY / @anonim --> #D70RYJ/OYA / 3494 дня назад
@anonymous Скиньте на этот тред атомную бомбу, пожалуйста. Я всех долбоебов в кучу собрал.
#D70RYJ/603 / @komar --> #D70RYJ/XW7 / 3494 дня назад
@komar оставайтесь на месте, бомба нацелена
#D70RYJ/U7W / @anonymous --> #D70RYJ/603 / 3494 дня назад
@krkm вся суть комара - спрашивать совета и не слушать когда предлагают работающие решения
#D70RYJ/W7P / @mugiseyebrows --> #D70RYJ/BD8 / 3494 дня назад
@anonim Все веб-петухи и городят кеширование на стороне бекенда. В результате проебывают дисковый кеш (из коробки только сраный мемкашд, а писать менеджер по управлению файловой хуйни лениво), а также клиентский кеш для браузеров (потому что городить отдельно работу с If-Modified-Since тоже лениво), поисковиков и прочих ботов. Ну и самое главное: модульности никакой. Если хочется рядом захуячить тайловый сервер — городи для него костыль отдельно.
#D70RYJ/KXA / @komar --> #D70RYJ/QAY / 3494 дня назад
@mugiseyebrows пруф или слушать доказательства про то как самолёт взлетает с конвеера, обладая даром прямолинейности мышления, граничащим с тупостью
#D70RYJ/686 / @anonymous --> #D70RYJ/W7P / 3494 дня назад
@anonymous nuclear launch detected бля сканер сканер бля где сука
#D70RYJ/MKM / @mugiseyebrows --> #D70RYJ/U7W / 3494 дня назад
@komar Хуй знает что там у тебя из коробки, в будущем хуячишь любой биндинг, который тебе нравится, в миддлвейр и все работает. Можешь написать свой, будет тебе модульность и звездочки на гитхубе.
#D70RYJ/FWE / @anonim --> #D70RYJ/OYA / 3494 дня назад
@anonim Я не собираюсь вместе с вами переизобретать http.
#D70RYJ/HPR / @komar --> #D70RYJ/FWE / 3494 дня назад
@komar Где я тебе там переизобретать предлагал что-то, выбери любой модуль с самым ироничным названием и юзай его.
#D70RYJ/NPR / @anonim --> #D70RYJ/HPR / 3494 дня назад
@anonim Еб твою мать, какой же адов вред для здоровья от веб-разработки.
#D70RYJ/UDN / @komar --> #D70RYJ/NPR / 3494 дня назад
@komar >кеширование на стороне бекенда. >В результате проебывают дисковый кеш >а также клиентский кеш для браузеро сколько же хуйни у тебя в голове
#D70RYJ/LPH / @anonymous --> #D70RYJ/KXA / 3494 дня назад
@anonymous Спали мне свои великие фреймворки, где Все Сделано Как Надо.
#D70RYJ/U7M / @komar --> #D70RYJ/LPH / 3494 дня назад
@komar express
#D70RYJ/EM4 / @anonim --> #D70RYJ/U7M / 3494 дня назад
@komar > монолитный бэкенд что же с нами стало
#D70RYJ/HMM / @anonymous --> #D70RYJ/YTY / 3494 дня назад
@anonymous Вы уже переизобрели http?
#D70RYJ/M6G / @komar --> #D70RYJ/HMM / 3494 дня назад
@komar это ты какой-то фреймворк хочешь: нгинкс-хуинкс. в то время как зачем это нужно (скорее всего нет), совершенно непонятно. просто потому что хуй знает что тебе на самом деле надо вообще.
#D70RYJ/F4W / @anonymous --> #D70RYJ/U7M / 3494 дня назад
@anonymous Я хочу, блядь, ебаный кеширующий прокси. Все, пиздец, блядь.
#D70RYJ/CD4 / @komar --> #D70RYJ/F4W / 3494 дня назад
> этот тред mda что такое varnish? https://www.varnish-cache.org/trac/wiki/BackendConditionalRequests
#D70RYJ/SYU / @anonymous / 3494 дня назад
@komar здесь должен быть какой-то анекдот с длинной бородой, но после двачей они не нужны, и я их все забыл, а мем соответсвующий ещё не придумали.
#D70RYJ/PMN / @anonymous --> #D70RYJ/CD4 / 3494 дня назад
@komar мы уже не пихаем всё говно в index.php
#D70RYJ/XZS / @anonymous --> #D70RYJ/M6G / 3494 дня назад
@anonymous Поэтому ты встаешь и уебуешь.
#D70RYJ/442 / @komar --> #D70RYJ/PMN / 3494 дня назад
@komar пруф или ждёт бомбу
#D70RYJ/ZTK / @anonymous --> #D70RYJ/442 / 3494 дня назад
@anonymous Не будет бомбы. Все хуево.
#D70RYJ/EY7 / @komar --> #D70RYJ/ZTK / 3494 дня назад
ещё немножко, господа, вытягиваем на верх топа. комар, больше драмы, больше батхёрта.
#D70RYJ/MQZ / @anonymous / 3494 дня назад
@anonymous Пошел нахуй.
#D70RYJ/68Z / @komar --> #D70RYJ/MQZ / 3494 дня назад
@komar не верю
#D70RYJ/W7Z / @anonymous --> #D70RYJ/68Z / 3494 дня назад
@anonymous Станиславский, съебите.
#D70RYJ/ELK / @komar --> #D70RYJ/W7Z / 3494 дня назад
@komar говорит так будто от неё у самого мозг ещё не спёкся
#D70RYJ/RHA / @mugiseyebrows --> #D70RYJ/UDN / 3494 дня назад
TFW комар посылает в треде всех советчиков нахуй и в итоге сосет с решением своей задачи.
#D70RYJ/XFX / @anonymous / 3494 дня назад
@anonymous Бедный Комар!
#D70RYJ/E9M / @komar --> #D70RYJ/XFX / 3494 дня назад
@komar Иди нахуй.
#D70RYJ/35H / @anonim --> #D70RYJ/E9M / 3494 дня назад
#D70RYJ/1RM / @anonymous / 3494 дня назад
@anonymous ээ, чё? нахуй кэш если всё равно ломиться к бэкэнду при каждом запросе? правильный подход был бы инициировать очищение кэша с бэкэнда, через PURGE например. например, на бэкэнде отредактировали пост, и он шлёт варнишу запрос на очищение кэша для конкретных страниц.
#D70RYJ/0WD / @n --> #D70RYJ/1RM / 3494 дня назад
пук
#D70RYJ/WJG / @anonymous / 3493 дня назад

Убираешь все заголовки, относящиеся к кешированию, ставишь Cache-control: no-cache, дату и/или ETag и именно так всё работает. Если не хочется иметь миллион запросов на каждый рефреш, включай кеширование и синхронизируй состояние из приложения через ngx_cache_purge.

#D70RYJ/REZ / @ceyt / 3493 дня назад
@ceyt это, только не нгинкс, а варниш
#D70RYJ/B7A / @n --> #D70RYJ/REZ / 3493 дня назад

@n Ну да, там purge уже встроен.

#D70RYJ/V0X / @ceyt --> #D70RYJ/B7A / 3493 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.