Как стать автором
Обновить
19.1

Nginx *

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

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

Ограничение скорости в Nginx для сложных конфигураций: HTTP/2, API и видеостриминг

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

В этой статье рассмотрим, как настроить полноценный traffic shaping в Nginx для сложных случаев, включая HTTP/2.

Читать далее
Всего голосов 11: ↑10 и ↓1+12
Комментарии0

Новости

«Всегда закрывай за собой двери!»: краткое пособие по работе с портами

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

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

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

Привет! Меня зовут Иван, я ведущий инженер по информационной безопасности в Selectel. Давно хотели научиться настраивать сетевые интерфейсы? Хорошая новость: мы в Selectel запускаем цикл статей по работе с портами в разрезе ИБ. В этом материале разберем, как с помощью различных межсетевых экранов: локальных, облачных и МСЭ в составе NGFW — обеспечить дополнительную защиту сервисов. Подробности под катом!
Читать дальше →
Всего голосов 37: ↑36 и ↓1+53
Комментарии4

NGINX Mail Proxy: на пути к INBOX

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

В публикации рассматривается практический пример развертывания NGINX imap proxy с использованием Python скрипта для привязки пользователей к серверам и реализации Fail2Ban.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии5

Asp.Net приложение и многое другое вместе с ним (1 часть)

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

Asp.Net + nginx + kafka + docker + docker-compose + postgersql. Или как из обычного шаблона прийти к такому гибриду.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии6

Истории

Копирайты – это рак, или инфраструктура разработки веб-сервера Angie

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

Open source проект – это не только код.

Когда мы говорим о проектах с открытым исходным кодом, то частенько, как само собой разумеющееся, опускаем тему инфраструктуры распространения дистрибутива проекта. Но сегодня, когда у нас есть вагон и тележка операционных систем и расширений к основному проекту, это и есть та самая  подводная часть айсберга.

На примере веб-сервера Angie расскажу вам про  инфраструктуру проекта с открытым исходным кодом в формате интервью, которое я взял у команды в режиме чайка менеджера в пятницу вечером. С учетом того, что команда делает опен-сорс проекты последние 15 лет, получилось, как нам кажется, интересно.

Читать далее
Всего голосов 16: ↑14 и ↓2+15
Комментарии0

Настройка Git сервера с нуля

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

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее
Всего голосов 28: ↑25 и ↓3+24
Комментарии21

Как настроить DNS балансировку с Consul

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

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

Сегодня поговорим о балансировке нагрузки по DNS с использованием инструмента — Consul. Сейчас в основном все приложения разбиваются на множество мелких сервисов, и поэтому часто нужно сделать так, чтобы трафик равномернно распределился и имел высокую доступность.

Consul — это open-source инструмент от HashiCorp, который обеспечивает сервис-дискавери, проверку состояния сервисов, балансировку нагрузки и глобально распределенное хранилище ключ-значение.

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии1

Деплоим Next.js приложение через PM2

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

Недавно мне посчастливилось развернуть Next.js на сервере с помощью PM2. Этот способ я не нашел в документации фреймворка, хотя считаю его довольно удобным, при этом гайдов по теме оказалось очень мало. Рассказываю, как всё сделать, и привожу рабочие примеры.

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии4

Простая настройка VPS, NGINX и FastAPI: Пошаговое руководство. Часть 1

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

Привет, Хабр! Недавно я писал статью о запуске Telegram-бота на aiogram 3.x с использованием веб-хуков и FastAPI. В той статье я упустил такие важные темы, как создание FastAPI приложения, настройка NGINX, настройка VPS сервера и другие детали, которые могут затруднить работу с вебхуками для новичков.

В этой публикации и в последующих, я постараюсь подробно ответить на все эти вопросы и не только. Писал максимально доступно, чтобы каждый смог разобраться. Поехали!

Читать первую часть
Всего голосов 8: ↑1 и ↓7-6
Комментарии28

Как просто создать aiogram 3.x бота на вебхуках (webhook)?

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

Приветствую, Хабр! Меня зовут Алексей, и я опытный Python-разработчик с многолетним стажем. Как и многие другие, я начинал с создания телеграм-ботов, используя метод лонг поллинга. Однако, передо мной встала задача реализации бота через вебхуки, и я решил поделиться своим опытом с вами.

На сегодняшний день я уже хорошо знаком с FastAPI, умею настраивать серверы и поднимать NGINX с защищённым сертификатом HTTPS. Для этой статьи мы будем считать, что вы тоже имеете эти навыки. Если будет необходимость, я с удовольствием опишу, как создать базовый шаблон FastAPI и настроить VPS сервер, но сейчас будем считать, что всё уже настроено.

Итак, сервер у нас готов, и теперь мы приступим к созданию бота на aiogram 3.x с использованием вебхуков.

Читать далее
Всего голосов 11: ↑6 и ↓5+5
Комментарии14

Что учесть если используешь SignalR и захочешь масштабировать .Net-приложение?

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

Все мы любим «магию», которую дает нам такой инструмент как SignalR и с удовольствием внедряем это в проекты.

Конечно, кто откажется от динамики, мгновенного отклика на действия и мигающих иконочек с подписью «что же делает система в данный момент и не стоит ли перезагрузить страницу чтобы клацнуть ее еще раз?» ?

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

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии13

Как сделать и настроить свой CDN

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров12K
CDN (сеть доставки контента) представляет собой группу серверов, размещаемых в разных географических регионах с целью обеспечить быструю загрузку контента для пользователей из этих регионов. Чаще всего сети доставки контента используются для ускорения загрузки статических файлов: картинок, видео, скриптов, zip-архивов. Каждый из CDN серверов просто хранит одни и те же файлы, а пользователь получает их с ближайшего сервера.

Хранение контента у большинства сетей доставки контента организовано так: CDN сервер, получив в первый раз от пользователя запрос на отдачу файла, загружает его с оригинального сервера к себе, кэширует и тут же отдает пользователю. Для всех последующих запросов файл уже выдается из кэша. Некоторые сервисы позволяют настраивать длительность хранения кэшируемых данных, а также их предварительную загрузку (прекэш).

Иногда может понадобиться настроить собственную сеть доставки контента. Давайте рассмотрим, для чего это нужно и как это сделать.


Это наша будущая CDN из 5 серверов, которая будет раздавать контент на весь мир
Читать дальше →
Всего голосов 27: ↑27 и ↓0+32
Комментарии13

Создание карты подключений Elasticsearch + Fluent Bit + Nginx Ingress Controller

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

Данная статья представляет подход к решению задачи сбора и агрегации метрик от Ingress Nginx Controller для извлечения геоданных с помощью GeoIP2 и их визуализации в Elasticsearch.

Читать далее
Всего голосов 3: ↑3 и ↓0+5
Комментарии1

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

Настраиваем Windows WSL для локальной разработки Laravel

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

В этой небольшой статье я очень сжато расскажу, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и composer, а также отредактировать файл hosts в самом Windows. Заранее прошу не гневаться на меня поклонников Docker, здесь я рассказываю именно про WSL.

Итак, без лишних промедлений, приступим. И начнем с того, что, как мы предполагаем, у нас есть Windows и всё. Если WSL уже установлен, львиную часть статьи можно пропустить.

Убедитесь в том, что ваша версия Windows совместима с WSL.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии24

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

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

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

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

Читать далее
Всего голосов 22: ↑20 и ↓2+27
Комментарии13

Настраиваем минимальный WEB-сервер на Repka Pi 3. NGINX + PHP-FPM + MySQL и ставим Wordpress

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

В этой статье я расскажу как установить на Repka Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL для того, чтоб в конечном счете установить WordPress и начать делать и размещать Ваш сайт на данной платформе. Ставить будем на родную ОС Repka Pi от 11.12.23 (последняя актуальна прошивка на момент написания статьи).

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии22

freenginx: комментарии от Макса Дунина

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

14-го февраля Максим Дунин анонсировал форк nginx - freenginx (freenginx.org). Максим - старейший сотрудник nginx и core-контрибьютор nginx со времен Рамблера. Максим любезно согласился на интервью, вопросы задавал Алексей Рыбак (@rybakalexey), DevHands.io.

[АР] Почему ты решил форкнуть nginx и запустить проект freenginx? Почему ты делаешь акцент на свободе, в чём был несвободен nginx внутри F5?

[МД] Я в течении почти двух лет пытался избежать создания форка и безвозмездно занимался улучшением nginx - потому что считал и считаю, что создание форков не полезно для проекта. К сожалению, в F5 решили отказаться от наших договорённостей, и предпочли делать с проектом то, что они считают нужным, игнорируя как существующие политики проекта, так и мнение разработчиков, в том числе моё. Поэтому я создал отдельный проект, в котором позиция разработчиков гарантировано будет определяющей.

Читать далее
Всего голосов 65: ↑63 и ↓2+85
Комментарии71

Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker

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

Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с помощью certbot. О чём и хочу рассказать.

Читать далее
Всего голосов 18: ↑15 и ↓3+12
Комментарии31

Миграция микросервисной архитектуры на API Gateway

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

Микросервисная архитектура Amediateka была спроектирована более 6 лет назад предыдущей командой разработки. С тех пор добавилось много новых микросервисов, но фундаментальная часть архитектуры осталась прежней. В этом году мы решили внедрить несколько глобальных изменений, одно из которых - API Gateway. Статья расскажет о том, что это такое, какие преимущества дает, как просто и безопасно мигрировать функционирующую систему на API Gateway и сделает обзор готовых решений.

Читать далее
Всего голосов 15: ↑14 и ↓1+14
Комментарии2

Django, PostgreSQL, Gunicorn/uWSGI, Nginx

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров15K

Подробное описание шагов при деплое web-проекта на Django с PostgreSQL, Nginx, Gunicorn.

Задачи статьи - агрегировать информацию из мануалов по деплою, избавить читателя от повторений ошибок и описать теоретически, для чего делаются те или иные шаги, чтобы избежать бездумного копирования и вопросов "почему у меня не работает".

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии4
1
23 ...

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