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
RU

Приложение открывается только с VPN. Разбирался почему

Пользователи из регионов начали писать в поддержку одно и то же: приложение не открывается. Симптомы у всех разные. У кого-то вечная загрузка, у ког…

cdnnginxviteselecteltcpсетевая доступностьfrontendотказоустойчивостьspaсервер
Habr
RU

Habitica self-hosted: полный гайд по развёртыванию, настройке Nginx и docker-compose

Если кратко, я создаю свою домашнюю лабораторию, которой планирую пользоваться в повседневной жизни. В неё я решил внедрить и трекер задач, так как…

продуктивностьгеймификациятрекер привычекdevopshomelabсистемное администрированиеnginxdocker-composeавтоматизацияself-hosted
Habr
RU

ЧАСТЬ 2. Своя self-hosted двухсерверная VPN-архитектура: Gitea, сборка Amnezia, проблемы 7.1.3-arch1-2 и многое другое

Эта статья является прямым продолжением вот этой статьи про мой проект ServeHub-2 , которое охватывает релиз 1.4.0 и отчасти 2.0.0, 2.1.0 (а также о…

devopsgiteaarchself-hosteddkmsnginxdocker-composevpnдомашний продакшнredis
Habr
RU

Овцеводческая CRM, Узбекистан и .NET 10: семь инженерных историй с граблями

Мы делаем QoyHunter — учётную систему для овцеводческих хозяйств Узбекистана, с витриной животных, доставкой и блогом на соседних поддоменах. С точк…

.net 10asp.net corepostgresqltelegramoauth2oidcreactnginxssragritech
Habr
RU

DDoS: от алерта до выбора модели: диагностика DDoS и Always-On vs On-Demand

Когда на графиках мониторинга появляется аномальный всплеск трафика, ваш первый порыв — сразу врубить фильтры и блокировать всё подозрительное, но н…

DDoSзащита от DDoSDDoS-атакаAlways-OnOn-Demandинформационная безопасностьотказоустойчивостьnginx
Habr
RU

От Root CA до User Authorization в nginx+apache. Часть 2. Отзыв сертификатов, CRL и OCSP

Сертификат скомпрометирован, а срок действия ещё не вышел — как сказать клиентам «больше ему не верьте»? Разбираем оба механизма отзыва, CRL и OCSP:…

OpenSSLPKIOCSPCRLотзыв сертификатовX.509certificate authorityOCSP staplingnginxинформационная безопасность
Habr