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

Nginx *

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

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

Размещение телеграмм бота (Aiogram3) на VPS/VDS

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

Расскажу как просто задеплоить телеграмм бота на Aiogram 3 с webhook на VPS/VDS. Посмотреть видео версию, которую я выложил, можно на YouTube

Также покажу установку двух типов сертификатов SSL: ...

C Nginx и без него ...

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

Новости

Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL

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

На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux. К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования.

Приступить к чтению
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 20

Nginx и Keycloak: Идеальное сочетание для обеспечения безопасности приложений

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

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

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

Понимание разницы: Аутентификация vs Авторизация

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

1. Аутентификация

Определение: Аутентификация - это процесс проверки подлинности личности пользователя, системы или приложения. Она отвечает на вопрос: «Вы тот, за кого себя выдаете?»

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

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

Talkvio — не капибара и не старый пикабу. Модуль серверной индексации для поисковиков для Nginx. Альтернатива Next.js

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

Читая такие статьи как про Капибару, мне хочется упомянуть один свой старый/новый проект, в изначальном виде я затеял как проект реставрации старого форума сети Минска (uruchie.org) из далеких 2006-2012 годов, который хранился у меня в замороженном виде последние 10 лет. Не так давно я решил его расконсервировать и заняться реставрацией в свободное время, того, фактически, что осталось еще со времен локальных сетей. 

Я сразу отбросил почти все что было, это старый движок vBulletin - на тот момент крайне перспективный и развивающийся движок форума на PHP, и убрав почти все, оставив только базу данных из 250 000 сообщений и 5000 пользователей начал реализовывать новые концепции которые хотелось видеть. Если кому-то интересно то, кстати, одна из причин гибели такого старого и долгого проекта был именно vBulletin и безопасность.

Ссылка на рабочую версия нового ресурса: https://talkvio.com (заходим, регистрируемся, пишем, предлагаем идеи)

За основу взял что душе угодно для таких целей:

Backend: NodeJS + MySQL + Redis + Manticore (у меня с ним был крайне приятный опыт на других своих старых проектах) + Bash + отдельные модули на Python + Nginx

UI: React

Дальше в статье будет рассказываться как в проекте организован серверный рендеринг исключительно для поисковиков, и как вы можете повторить опыт для своего JS проекта не выполнял почти никаких модификаций проекта на основе пакета Puppeteer + Nginx.

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

Истории

Улучшаем возможности Nginx без затрат на коммерческую подписку (спойлер: с помощью Haproxy)

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

Nginx — прекрасный и надёжный обратный прокси-сервер. Уже много лет он является самым популярным инструментом обслуживания огромного количества веб-сайтов. Но его бесплатная версия имеет ряд ограничений в части работы с серверами-бэкендами. Давайте поговорим об этих ограничениях и о том, можем ли мы, не меняя Nginx как основную платформу, качественно улучшить наши возможности по распределению трафика между бэкендами.

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 33

Настройка Nginx multiple reverse proxy для k3s+istio

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

Всем читателям, привет! Хочется поделиться своим опытом по созданию Nginx reverse proxy для интересного кейса.

Есть 1 ip и на него нацелено n доменов
Есть n серверов (за NAT)
Когда пользователь заходит на домен_1 попадает на сервер_1
Когда пользователь заходит на домен_2 попадает на сервер_2
Когда пользователь заходит на домен_n попадает на сервер_n

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

Делаем web сервер из старого Android смартфона, без root

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

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 19

Многогранный мониторинг Angie, форка веб-сервера nginx

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

Здравствуй, дорогой читатель. Меня зовут Дмитрий. Я — системный инженер компании «Веб-сервер». На протяжении моего опыта оказания услуг технической поддержки сначала в компании Nginx, а теперь и в компании разработчика российского веб-сервера Angie, мы отвечаем на очень популярный вопрос: «Как организовать мониторинг состояния веб-сервера?». А вот так.

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

Настройка авторизации через ssl сертификат на уровне nginx

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

Привет уважаемые, хабровчане!

Иногда возникает потребность выдать доступ пользователям только к одному веб ресурсу в компании. Самый очевидный вариант сделать это через урезанный VPN, но тут возникают препятствия в виде девайсов, с которых подключаются пользователи, и качество интернета, которым они пользуются. OpenVPN, который мы пробовали использовать для этих целей, не дал желаемого результата, подключение было медленным и нестабильным. Поэтому было найдено альтернативное решение.

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

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

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

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Всего голосов 80: ↑78 и ↓2 +76
Комментарии 148

Подробная настройка Content Security Policy (CSP)

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

Content Security Policy (CSP) - это механизм безопасности веб-приложений, который используется для сокращения рисков, связанных с атаками, такими как внедрение скриптов (XSS) и выполнение нежелательного кода (инъекция). CSP позволяет веб-разработчикам указывать браузерам, из каких источников разрешено загружать ресурсы, такие как скрипты, стили, изображения, шрифты и другие элементы.

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

Деплой приложения с nginx как по нодам

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

Привет, Хабр! В этом материале мы разберем деплой приложения на React, арендуем облачный сервер и настроим nginx. Здесь будет необходимый минимум для фронтенд-разработчика:

  • Заливка проекта на GitHub.
  • Аренда и настройка облачного сервера по SSH.
  • Настройка nginx для раздачи статических файлов.
  • Сжатие бандла.
  • Подключение домена.
  • Настройка HTTPS.
  • Настройка Docker.

Для этого материала также доступна видеоверсия.
Читать дальше →
Всего голосов 45: ↑41 и ↓4 +37
Комментарии 12

Охотимся на уязвимость Nginx Alias Traversal: утечка сейфа Bitwarden

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

Nginx, универсальный веб-сервер, имеет ключевое значение для многочисленных интернет-инфраструктур, занимает доминирующую долю рынка с момента своего создания в 2004 году, получил широкое распространение на веб-сайтах и в контейнерах Docker. В этой статье рассматриваются тонкости Nginx, основное внимание уделяется директивам location и alias, которые играют центральную роль в том, как Nginx обрабатывает определенные URL-адреса. Мы также изучим потенциальные уязвимости, возникающие из-за неправильных конфигураций, и продемонстрируем, как они могут привести к эксплойтам безопасности, опираясь на исследования, представленные Orange Tsai на конференции BlackHat 2018.

Руководство дополнительно проиллюстрирует эти моменты посредством тщательного изучения популярных репозиториев с открытым исходным кодом, с использованием GitHub Code Search для выявления потенциальных уязвимостей конфигурации Nginx. Реальные тематические исследования с участием Bitwarden и Google HPC Toolkit подчеркнули значительный риск раскрытия данных, если эти уязвимости не будут устранены. Кроме того, мы представим NavGix, автоматизированный инструмент, предназначенный для обнаружения этих уязвимостей методом «черного ящика», предоставляющий исчерпывающую информацию о сложностях, уязвимостях и возможных неправильных конфигурациях Nginx.

Как получить доступ к сейфу Bitwarden
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 1

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

Простым языком о простом NGINX UNIT

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

В статье рассказывается о новом веб-сервере Nginx Unit. В ней можно узнать подробнее о самом веб-сервере, его установке и настройке: как использовать слушатели, маршрутизацию, как устанавливать сертификаты TLS. Статья покажет насколько работать с ним легко и что огромные конфиги потихоньку уходят в прошлое.

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

Как за 1,5 месяца создать сайт с нуля и подготовить его к нагрузкам ~230 000 пользователей в день? Кейс Финзачета

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

Привет, Хабр. Я — Влад Климанов, бэкенд-разработчик в ДАЛЕЕ. В декабре 2022 года мы запустили сайт Финзачета — самого массового зачета по финансовой грамотности в стране. Собрал в статью историю о том, как мы работали с проектом, основной особенностью которого был сжатый срок: всего 1,5 месяца для реализации сайта, который выдержит поток миллионов пользователей. Бонусом внутри немного статистики о финансовой грамотности

Читать далее
Всего голосов 12: ↑5 и ↓7 -2
Комментарии 15

Настройка географических ограничений на веб-ресурсе с учетом новых регионов Российской Федерации

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

Актуальной задачей для веб-ресурса в нынешних реалиях является установка ограничений доступа по регионам, либо географическая привязка выдаваемой информации с учетом региона. Одним из решений, которые можно использовать для этих целей, является база данных и американский сервис MaxMind GeoIP2. Сервис привлекает огромным объемом и детальностью информации, но имеет свои особенности. Так, Крым, ДНР, ЛНР, Запорожская и Херсонская области а также Севастополь указаны в базе как регионы Украины. Соответственно, если, скажем, разрешить доступ к ресурсу только с территории РФ, то эти регионы останутся не у дел.

Так я, первоначально настроив свой ресурс только на доступ с территории РФ, обнаружил, что мои друзья из Крыма и ДНР не могут получить доступ (получают специальную версию страницы, с ограниченным объемом информации). Проблема эта легко решается, и в этой статье я покажу, как именно можно простым спососбом ее решить, а также покажу действующий пример конфигурации сервера.

Читать далее
Всего голосов 82: ↑36 и ↓46 -10
Комментарии 106

Как кастомизировать стандартные страницы ошибок

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

Данная статья описывает утилиту для генерации статических страниц ошибок, используемых в качестве замены стандартным страницам. В статье подробно описаны возможности утилиты, среди которых шаблонизация, стилизация, локализация, генерация сниппетов для настройки сервера. Проект является Open Source, и открыт для новых идей и запросов.

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

Сказ о том как pet-project превратился в небольшой пассивный доход (часть 1)

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

Я backend разработчик с опытом около 3-х лет, пишу в основном на Golang. Проработал в нескольких крупных российских компаниях. Сейчас я параллельно со своей работой пытаюсь сделать удобный, дешевый VPN сервис с высокой пропускной способностью. В этой статье я хочу просто рассказать про жизненный цикл своего проекта. Возможно кому-то будет просто интересно почитать, а кто-то может почерпнуть что-то новое для себя.

Читать далее
Всего голосов 55: ↑52 и ↓3 +49
Комментарии 40

Простой автодеплой средствами Bitbucket Webhooks и PHP

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

В этой статье я покажу, как организовать простейший автодеплой на сервере. Для автодеплоя через Bitbucket Webhooks и PHP не нужно использовать какие-то сложные решения.

Для начала можно подумать, что git pull выполняется через PHP с помощью этого куска кода:

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

Взаимодействие с MinIO по относительному пути. Получится или нет?

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

В интернете много информации о том, как развернуть MinIO на хосте по порту, но практически нет о том, что делать, если порт наружу открывать не хочется, а файлы загрузить надо? Потратив пару дней на разбирательство, получился вполне "рабочий велосипед". Я решил воспользоваться Законом Каннингема и разместить своё решение. Надеюсь, оно не ложное. 🙂

Поехали
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 4

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