RU

Vodka, или почему nginx.exe у нас в шесть раз быстрее, чем под Wine

Всем привет! Вторая статья про революционный проект Vodka, где будут реальные замеры производительности nginx.exe . А ещё на этот раз я более подроб…

winelinuxvodkaисполняемый файлоперационные системыимпортозамещениесовместимостьядроwindowsnginx
Habr
RU

Сервер на смартфоне полгода спустя: OnePlus 6, Mobian, 26 контейнеров и одна проблема

В апреле 2026 года я решил ради эксперимента установить на старый смартфон OnePlus 6 Linux (Mobian) и использовать его в качестве сервера. Через нек…

mobianoneplus 6linuxдомашний серверdockercaddynginxбатареяcicdсервер на телефоне
Habr
RU

Как мы перестраивали e‑commerce‑платформу в production: от legacy‑системы к Next.js и Symfony

Несколько лет назад мы решили заменить legacy e‑commerce‑платформу, которая продолжала работать и принимать заказы. Новый frontend построили на&nbsp…

e-commercenext.jssymfonynginxssrкэшированиеархитектура попроизводительностьproductionмасштабирование
Habr
RU

Сайт не открывается из России, хотя сервер в Москве

Вчера переехал на свой сервер. Сегодня утром обнаружил, что сайт у меня не открывается. Ни из дома, ни с телефона. Сер…

диагностика сетиtcpdumpхостингблокировкиLACNICRIPEnginxTCPмиграция сервераcurl
Habr
RU

CDN как транспорт для HTTP-туннеля: как мы намерили 5 % потерь, а через три недели не намерили ничего

За облачным CDN у нас стоял Xray с транспортом XHTTP. Пользователи жаловались двумя фразами: «тормозит» и «отваливается насовсем». В августе я помер…

CDNXHTTPXrayVLESSRealityнагрузочное тестированиеnginx
Habr
RU

[Перевод] Роутинг NGINX на предикатах для обработки API-трафика без скриптов

Типовую задачу проксирования трафика на базе заголовков и тела HTTP-запроса теперь можно решать напрямую с помощью предикатных локейшенов в NGINX. Д…

nginxapijsonnjsбалансировка нагрузкиhttpapi gatewaymcp
Habr
RU

«Токен в ссылке украдут через Referer» — устарело пять лет назад. Куда он уходит теперь

Совет про токен в адресе страницы кочует из статьи в статью в одной и той же формулировке: не кладите его в URL, иначе он уедет в заголовке Referer…

referrer-policyтокенылогированиеnginxвеб-безопасностьсброс пароля
Habr
RU

Сертификат истёк, сайт лёг: как быстро вернуть HTTPS и починить автопродление

В рабочем чате: «Сайт не открывается, сертификат истёк», следом — скриншот с 502. Первый рефлекс — certbot renew и перезагрузить nginx. Иногда помог…

ssl-сертификатcertbotlets encryptnginxtlshttpsавтопродление сертификатаopensslsystemdпродление сертификата
Habr
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