RU

В логе адрес ::ffff:192.0.2.5, в белом списке 192.0.2.5. Это один адрес, и он не совпадает

Заявка была скучная: клиент не проходит проверку по списку разрешённых адресов. Адрес его я вижу, адрес в списке есть, файрвол пакет пропускает. При…

ipv6ipv4-mappedлогиsiemfail2bannginxразбор инцидентаdual-stack
Habr
RU

От Root CA до User Authorization в nginx+apache. Часть 3. Вход по клиентскому сертификату: прокси или приложение

В первой части я обещал беспарольный вход в админку. Здесь он наконец заработал. Что внутри: — mTLS в nginx и apache: все директивы, все переменные…

mtlsnginxapacheopensslклиентские сертификатыавторизация без паролейpkiудостоверяющий центрgotls
Habr
RU

3000 точек на карте грузились полсекунды. Ускорял не там, где думал

Эндпоинт отдавался за 380–510 мс и 811 КБ. Я думал, что причина одна – тяжёлый запрос. Разобрался: причин было три, и они лежали одна под другой. По…

MongoDBFastAPIBeanieORMоптимизация APIиндексы MongoDBgzipnginxPythonexplain
Habr
RU

Что делать, если сервер доступен по SSH, а сайт не открывается

Мониторинг шлёт тревогу, пользователи пишут, что «всё лежит», но SSH пускает на сервер. Значит, машина включена и 22-й порт доступен. О домене, порт…

LinuxSSHnginxсистемное администрированиесерверное администрированиеDNSTLSVDSвеб-серверыruvds_статьи
Habr
RU

Деплой-платформа для MCP-серверов и сайтов, встроенная в каталог

Недавно я писал на Хабре, как собрал каталог MCP-серверов: 80 тысяч записей из девяти источников в одном индексе. В комментариях и в личке быстро вс…

MCPModel Context ProtocolдеплойавтодеплойDockernginxNext.jssupergatewayPaaSself-hosted
Habr
RU

Use-As-Dictionary: как мы перестали отдавать один и тот же бандл по пять раз в день

У нас в среднем два релиза в день, бандл весит 7,76 МиБ после brotli, и половина клиентов качает его заново по несколько раз в сутки: хеш в имени фа…

compression dictionary transportRFC 9842brotlizstdnginxдельта-сжатиенепрерывная поставкаоптимизация загрузки
Habr
RU

Приложение течёт, а утечки нет: как оптимизатор картинок Next.js съел 4-гигабайтный VPS

История про то, как я три дня искал утечку памяти в Node-приложении, не нашёл — и был прав, что не нашёл. А ещё про то, что у каждого починенного пу…

next.jsnode.jssharplibvipsутечка памятиmalloc_arena_maxsystemdnginxоптимизация изображенийavif
Habr
RU

У nginx сжатие заголовков одностороннее

Стенд: один nginx, одно HTTP/3-соединение, четыре одинаковых запроса подряд. Меряем размер сжатого блока заголовков в обе стороны. Ответ (nginx → кл…

nginxquicqpackhpackсжатие заголовковдинамическая таблицаcve-2026-42530use-after-freeисходный кодhttp
Habr
RU

Termidesk Connect: переписываем сценарии балансировки для российского бизнеса

Привет, Хабр! Меня зовут Ильнар Зайнуллин, я системный инженер в К2Тех. В этой статье хочу показать, как Termidesk Connect ведет себя в реальных сце…

балансировщикopen sourceOSSбалансировка нагрузкиreverse proxyKerberosexchangenginxhaproxytermidesk
Habr
RU

Фильтрация ТСПУ у серверов Таймвеб Cloud: диагностика, обход через reverse-proxy и СDN

Два коммерческих сайта на WordPress, оба на одном VPS. Клиенты в одном городе, я сам в другом. Начало июня. Клиенты жалуются, что сайт не открываетс…

ТСПУРКНDPIблокировкиreverse proxynginxTLSSNIхостингдоступность сайта
Habr