Обновить
41.83

Nginx *

Веб-сервер и почтовый прокси-сервер

Сначала показывать
Порог рейтинга
Уровень сложности

DANILOS

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.4K

Буду хвастаться своим прекрасным рабочим столом на macOS.

От читателей жду комментарии на тему того, как это можно улучшить, потому что мои решения далеки от идеала — сделано «на коленке».

Часть этого процесса я уже описывал в предыдущей статье.

Как и многие, я понял, что рабочий стол — это не место для файлов и папок.

Это не секрет, что возможность класть туда всё нужное и ненужное — ужасная практика, порождающая хаос.

Допустим, вы уже дошли до того уровня дзена, чтобы перестать этим пользоваться, и теперь наблюдаете просто картинку на фоне. Это отлично.

Примерно 10 лет назад я понял, что хочу видеть там канбан-доску.

Зачем? Чтобы это постоянно включало в работу.

Как я это сделал:
Основной template, — Vite + Tailwind, с вертикальными фреймами и кнопкой для открытия меню. Plash опенсерсная утилита которая заменяет рабочий стол на safari с любой ссылкой или локальным html. и любые веб приложения.

Читать далее

Новости

Свой прокси DNS сервер для обхода санкций зарубежных сайтов(с использованием VPS)

Время на прочтение4 мин
Количество просмотров53K

Безусловно, тема обхода ограничений изнутри страны сейчас актуальна. Но что делать, если нужно открыть сайты, которые заблокировали пул IP-адресов из РФ? Например, было интересно создать аналог DNS‑сервера вроде comss, который открывает доступ к заблокированным AI, игровым серверам и тому подобному, с чем не смогут помочь обходы DPI (Возможно, эксперты напишут замечания в комментариях).

Один из возможных способов, который получилось реализовать у меня, представлен ниже.

Нам понадобится VPS в локации, через которую мы хотим быть видимы для нужных нам сервисов.

Для примера можно вспомнить Twitch, который заблокировал доступ к просмотру стримов в качестве 1080p и 1440p для пользователей из РФ.

Идём на страницу справки по бета‑тестированию качества 2k на Twitch и смотрим регионы, в которых оно доступно.

Читать далее

Мониторинг Angie с помощью Console Light и API

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров660

Не секрет, что штатные возможности мониторинга Nginx довольно скромны. Решалась эта задача различными способами: либо парсингом логов, либо сторонними модулями. При создании Angie эту проблему решили радикально и сразу несколькими способами. Начнём с исторического модуля stub_status.

Читать далее

Дом в облаке, которое твое: запускаем личный сервер на UmbrelOS с полным шифрованием

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.8K

Всем привет 👋

Врываюсь на Хабр с двух ног со своей первой статьей.

Всё чаще меня посещала мысль: а где на самом деле лежат наши фотографии, документы и личные переписки? Кто имеет к ним доступ и на каких условиях, точно ли все мои данные конфиденциальны? Любознательность и стремление к независимости хранения данных привела меня к идее своего облака, не где-то в далеком ЦОД, а здесь, дома, в гостиной, тихо жужжа в корпусе размером с книгу. Но есть один критически важный нюанс, который отделяет любительскую поделку от полноценной замены коммерческим сервисам — безопасный доступ извне. Зачем нам HTTPS, если для внутренней сети хватило бы и простого HTTP?

Читать далее

Порт один, а сервисов — много. Учимся дружить Mikrotik с Nginx

Время на прочтение6 мин
Количество просмотров19K

Привет! Я Ваня, системный администратор в Selectel. Представим ситуацию: вам нужно организовать доступ к удаленному офису через Cisco AnyConnect, который по какой-либо причине должен работать на стандартном 443 порте. При этом на том же порте развернут веб-сервер, а позже понадобится там же развернуть FTPS, SSTP и еще 100 500 сервисов, которые используют TLS. Под катом рассмотрим, как решить проблему безопасно и относительно быстро.

Под кат!

Как за 4 месяца вкатиться в Российское багбаунти

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров2.4K

Так уж вышло, что я сел писать статью о нашем с Саней (@MrKaban4ik) приключении в багбаунти. Сразу предупреждаю: бывалым исследователям наша история покажется не самой захватывающей. Она не о сложных цепных эксплойтах, а о самом начале пути — о том, как ты делаешь первый шаг на площадке и, затаив дыхание, ждешь вердикта по своему первому отчету. Именно эти первые «хваты» вселяют ту самую уверенность, что ты на правильном пути.

{Багбаунти-кидди презенс}

Чуть предыстории. НЕБОЛЬШАЯ ИСТОРИЧЕСКАЯ СПРАВКА НА 5 МИНУТ. Февраль 2025 года.

Мы с Александром часто участвуем в CTF в рамках студенческой команды Capybaras. Недавно закончился Чемпионат России по спорт проге ИБ, мы написали квалы на чемпионат банка РФ и нас зовут в Екатеринбург на Уральский форум. Вуз платит — едем. К этому моменту мы знаем о вебе что он существует и что если нет никаких ограничений на загрузку можно загрузить файлик.php который может быть шелом и как то магически команды на OS исполняет. О багбаунти мы слышали, но не седели особо — потому что просто не знаешь что искать. Мы с Александром собираем вещи, едим в Сочи и оттуда летим в Екатиб. Хотя давайте меньше деталей, вы же тут не до вечера собрались читать. В общем‑то первый наш форум по ИБ, много вендоров и лекций в молодежной программе. Знакомлюсь с ДВФУ‑шниками, до сих пор {heart}. Но вернемся к форуму. Среди вендоров был и BI.ZONE. Интерес конечно же у меня к нему был потому что они недавно выпускают Threat Zone и как только открылась выставка, а у нас шла кибербитва — я решаю незаметно сбежать и сходить залутать заветный журнальчик. Подхожу к стенду, решаю потыкать стендик и подходит какой‑то тип в черном костюме и начинает спрашивать знаком ли я с продуктами компании, я жестко говорю что знаю EDR и какой то прикол с жуками, называемый bugbounty. А этот тип говорит: «Я глава этого продукта». Таким образом мы познакомились с человеком по имени Андрей Левкин — который сыграет на самом деле большую роль в том, чтоб мы начали багхантить. Форум заканчивается и мы едем домой.

Читать далее

Sticky-сессии в stream (RDP/SSH) с чтением cookie из RDP и привязкой

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1K

Привет, Хабр!

Сегодня разберём то, что обычно остаётся в уголке конфигов и редких комментов в тикетах. Sticky-сессии в stream для RDP и SSH. В частности, как в Angie вытащить RDP-cookie на preread-стадии и привязать пользователя к одному backend’у без плясок с костылями в L4.

В реальных RDP-фермах два симптома встречаются чаще всего. Первый — периодический разлёт сессий: пользователь переподключается и попадает на другой сервер, там у него пустой рабочий стол, злость, звонок в поддержку. Второй — попытки лечить это на уровне клиентского IP, которые ломаются при NAT и мобильных операторах. Решение простое: читать RDP-cookie до принятия решения о балансировке и привязывать сессию к серверу. Angie это умеет из коробки модулем rdp_preread и sticky в stream-upstream.

Читать далее

njs в stream: многоарендность по SNI и динамический upstream из Redis/etcd

Время на прочтение10 мин
Количество просмотров316

Привет, Хабр!

Сегодня я хочу разобрать одну конкретную, но до безобразия полезную задачу, с которой мы столкнулись, когда наш сервис стал обрастать клиентами. Задача простая на словах, но с изюминкой: маршрутизировать входящие TLS-соединения в stream-модуле Nginx на разные бэкенд-пулы в зависимости от имени сервера SNI, которое клиент указывает в самом начале рукопожатия. Причем арендаторов могут добавлять каждую пятницу, а перезагружать Nginx каждый раз — это не наш метод. Конфиги должны быть статичными, а вот список арендаторов — динамическим, живущим где-то в Redis или etcd.

Перейти к статье

103 Early Hints в NGINX: как выжать бесплатный прирост LCP без переписывания бэкенда

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.2K

Привет, Хабр!

Вы, наверно, привыкли к стандартным HTTP-ответам – 200, 301, 404, 500 и т. д. А тут подкрался новый статус 103 – Early Hints. Это небольшой пинок браузеру: сервер шлет код 103 с заголовками Link: rel=preload ещё до того, как сформировал основной HTML. Пока бэкенд думает над ответом, браузер параллельно начинает грузить критические ресурсы (CSS, JS, шрифты и т. д.). Звучит просто, но эффект на производительность и LCP может быть весьма значительным.

Читать далее

Коротко про виды авторизации

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров8.9K

Эта статья будет интересна тем, кто особо не заморачивался, как устроена авторизация в бекенде, но хочет очень быстро въехать в тему. Мы не будем погружаться в самые недры реализации, но точно поймем как это работает и как прикрутить это на практике. Я буду использовать python и FastAPI, просто потому что так проще показать, но эти подходы работают и для других языков/фреймворков.

Коротко, без воды, с примерами, схемами и домашним заданием. Что может быть лучше для самостоятельного изучения темы?

Быстро срыть тему с авторизацией

Как настроить Nextcloud в Kubernetes: Helm, Nginx и Reverse Proxy

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.7K

В этой статье я хочу рассказать, как развернуть облачное хранилище Nextcloud для хранения медиафайлов и документов, используя reverse proxy architecture-подход. Решение позволит получить доступ к его данным с любого устройства из внешней сети.

Читать далее

Интеграция .NET-приложения с внешним API по ГОСТ TLS через CryptoPro

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров2.5K

Всем привет. Представлюсь — меня зовут Евгений Думчев и я Team Lead.NET разработки в DDPlanet.

В какой‑то момент в моей практике появилась задача по интеграции с внешним API. Для взаимодействия требовалось применять предоставленный публичный доверенный сертификат сервера.cer и клиентский.pfx сертификат. Особенность в том, что.pfx сертификат был выпущен через CryptoPro CSP — а это вносит свои тонкости в процесс интеграции…

Читать далее

Миллион IP против одного GPT-5: история одной DDoS-атаки

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.8K

Сможет ли GPT-5 победить DDoS? Мой реальный кейс как я потратил 5 часов отдав всё управление хостингом в руки ИИ.

Читать далее

Ближайшие события

Балансировка нагрузки для HTTP(S) в Angie

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.2K

Балансировка нагрузки в веб‑сервисах решает сразу две задачи: масштабирование и отказоустойчивость. В этой статье поговорим о возможностях балансировки нагрузки для HTTP(S) протокола в Angie.

Теоретическая основа, описание алгоритмов уже описана разработчиком Angie, поэтому рекомендую обращаться к статьям с обзором балансировки и алгоритмам балансировки в Angie. Здесь же разберём практическую сторону настройки балансировки.

Читать далее

Выбор VPS, установка и настройка Portainer и n8n

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6K

Для своих проектов я искал российский VPS-провайдер с серверами в Нидерландах, чтобы обеспечить низкую задержку для европейской аудитории и соответствие GDPR. После анализа я выбрал пять провайдеров, предлагающих серверы в Нидерландах: Selectel, Timeweb, FirstVDS, RuVDS и 62yun.ru. Ниже сравню их по ценам и характеристикам для серверов в Нидерландах и объясню, почему выбрал 62yun.ru.

Читать далее

Настройка Angie в роли обратного HTTP-прокси

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.6K

Исторически роль обратного прокси (reverse proxy) можно назвать первоначальным предназначением для Nginx, а значит и для Angie. В этой статье разберёмся, почему он обратный, какие тонкости настройки проксирования нужно учитывать при настройке.

Читать далее

Angie 1.10: разбор фич, планы на 1.11

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров2.3K

Следуя устоявшемуся квартальному ритму выпуска значимых релизов, мы выпустили стабильные версии Angie и Angie PRO 1.10 — форка nginx, развиваемого в основном бывшими ключевыми разработчиками оригинального проекта.

Как и в прошлый раз, расскажем подробнее о нововведениях, приводя примеры. Вы узнаете, в чём ключевая фишка нового релиза (картинка под заголовком намекает); также слегка приоткроем завесу тайны над тем, что у нас припасено на будущее.

А пока — краткий список нововведений, которые будут разобраны ниже:

— автоматическое проксирование и балансировка веб-сервисов в Docker-контейнерах (или Podman);
— автоматическое получение TLS-сертификатов для потокового модуля (stream);
— прием соединений Multipath TCP (MPTCP);
— контроль перегрузки CUBIC в QUIC-соединениях;
— привязка сессий с внешним хранилищем в модуле stream;
— новые режимы привязки сессий при проксировании HTTP-запросов;
— режим постоянного перехода на резервную группу в модуле stream.

Читать далее

Настройка TLS в Angie: безопасность и скорость

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.7K

Сегодня использование HTTPS стало практически обязательным для большинства веб‑приложений. Angie позволяет эффективно обрабатывать HTTPS‑трафик, обеспечивая при этом высокий уровень безопасности. В новых протоколах HTTP/2 и HTTP/3 использование защищённого соединения обязательно. Однако, как обычно, есть много деталей в конфигурации, которые мы последовательно разберём в этой статье.

Читать далее

Серверное кэширование в Angie: тонкости настройки

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.5K

Серверное кэширование — это одно из самых действенных средств оптимизации нагрузки в веб‑приложениях. Angie предоставляет широкие возможности настройки, с помощью которых можно реализовать множество сценариев использования кэша.

Читать далее

Сжатие текста в Angie: статика, динамика, производительность

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.2K

Сжатие текстовых ресурсов — это базовая мера оптимизации скорости загрузки веб‑приложений. Действительно, текста в вебе много: HTML, CSS, JS, JSON, SVG и не только. Казалось бы, тема простая: включили gzip, добавили типы контента для сжатия и всё готово. Однако, как всегда самое интересное в деталях. Разберёмся во всём подробно.

Читать далее
1
23 ...

Вклад авторов