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

Nginx *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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 мин
Количество просмотров10K

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Как купить домен и использовать доменное имя для размещения сайта или своих сервисов через NGINX

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

Этот небольшой гайд для тех, кто давно хотел сделать свой сайт на своем домене и разместить на своем сервере, но все никак.

С чем будем работать далее: 

Узнаем, что такое доменное имя и как оно связано с DNS.

Зарегистрируем свой домен и узнаем, что это быстро, легко и может стоить 199 рублей за первый год.

Настроим ресурсные записи, чтобы привязать доменное имя сайта к вашему IP‑адресу. Дополнительно рассмотрим, как при помощи DDNS автоматизировать обновление адресов, если у вас нет выделенного IP.

Развернем виртуальную машину, на которой будет работать сайт. (аналогичные действия можно проделать и на каком‑нибудь специально выделенном для этого физическом железе или VPS).

Развернем http‑сервер NGINX.

Настроим конфигурацию для размещения сайта и проверим, что сайт‑лендинг открывается.

Узнаем, как прикрутить ssl сертификаты и https.

Если используются какие‑то другие сервисы, например, nodered, узнаем, как использовать купленный домен в своих сервисах в варианте, например, nodered.mydomainhere.ru и т.д., вместо 77.88.111.222:1880 или mydomainhere.ru:1880 (т. е. поработаем с доменами третьего уровня).

Получим бесплатные Wildcard SSL сертификаты от Lets Encrypt при помощи утилиты Cerbot, и настроим их для использования в NGINX.

Тех, кому интересно, приглашаю далее.

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

NGINX подготовил бинарники для предварительной версии реализации QUIC+HTTP/3

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

NGINX подготовил бинарники для предварительной версии реализации QUIC+HTTP/3: "Мы рады сообщить, что наша предварительная реализация поддержки NGINX для QUIC+HTTP/3 теперь доступна в виде предварительно собранных бинарных пакетов для двух дистрибутивов: Red Hat Enterprise Linux 9 и Ubuntu 22.04"

Подробности под катом.

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

Масштабирование NodeJS приложений, теория и практика

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

Масштабирование приложения Node.js может быть сложной задачей, но с правильными методологиями это можно сделать эффективно и результативно. В этой статье мы обсудим несколько методов масштабирования приложений Node.js, включая горизонтальное масштабирование, вертикальное масштабирование и балансировку нагрузки. Посмотрим практические примеры.

Читать далее
Всего голосов 12: ↑3 и ↓9-6
Комментарии4

Сертификаты Let's Encrypt и ACME вообще во внутренней сети

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

Обычно внутри корпоративной сети нынче полно всяких приложений, и хотелось бы чтобы они работали по SSL. Можно, конечно, поднять свой УЦ, раздать сертификаты, прописать пользователям свой корневой сертификат - и это будет работать. А можно просто воспользоваться сервисом Let's Encrypt, раздав его сертификаты своим внутренним серверам, которые не видны из Интернета, причем сделать это просто и с минимумом трудозатрат на поддержку.

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

Укрепление Nginx с помощью Fail2ban: тестируем и оцениваем «профит»

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

«Только запустил Nginx-приложение, а в access.log уже десятки записей с непонятными запросами, переборами паролей и другого» — типичная ситуация для незащищенного сервера. Это следствие работы «ботов» для сканирования белых сетей, поиска открытых портов, сбора информации о версиях запущенных служб и подбора паролей к сервисам.

В статье расскажу, как с помощью open source-инструмента Fail2ban укрепить Nginx и защитить сервисы от взлома. А также продемонстрирую способы блокирования DDoS-атак. Подробности под катом.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии47

Конфигурируем веб-сервер для Next.js

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

Казалось бы, что развёртывание приложений на Next.js не влечёт за собой трудностей - установил зависимости, сделал "npm run build && npm run start" и проксируешь запросы на 3000-ый порт, но для оптимальной работы предстоит сделать кое-что ещё.

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

Gitea + Drone + Nginx + Portainer. Пошаговое руководство по деплою аналога github на своём железе

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

В данном туториале я расскажу вам как можно задеплоить gitea на своём железе с использованием docker-compose подключить drone, для возможности автоматизации тестирования и доставки собственных приложений, настроить reverse-proxy через nginx для доступа через сеть и включить portainer для мониторинга запущенных контейнеров.

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