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

Nginx *

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

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

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

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 4K
Nginx *Геоинформационные сервисы *
Туториал
Из песочницы

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

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

Читать далее
Всего голосов 81: ↑36 и ↓45 -9
Комментарии 106

Новости

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

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.7K
Разработка веб-сайтов *JavaScript *Nginx *Дизайн
Обзор

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

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

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

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 32K
Программирование *Nginx *Go *
Кейс

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

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

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

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.7K
PHP *Nginx *Git *
Из песочницы

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

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

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

Истории

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

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.8K
Блог компании Visiology Nginx *API *Хранилища данных *DevOps *
Туториал

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

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

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

Уровень сложности Средний
Время на прочтение 23 мин
Количество просмотров 4K
Хостинг Администрирование доменных имен *Nginx *Сетевые технологии *
Туториал

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

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

Узнаем, что такое доменное имя и как оно связано с 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
Комментарии 23

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

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 2.7K
Open source *Nginx *Сетевые технологии *
Перевод

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

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

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

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

Время на прочтение 5 мин
Количество просмотров 3.9K
JavaScript *Nginx *Node.JS *API *
Из песочницы

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

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

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

Время на прочтение 6 мин
Количество просмотров 7.7K
Nginx **nix *Сетевые технологии *
Туториал

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

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

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

Время на прочтение 10 мин
Количество просмотров 11K
Блог компании Selectel Информационная безопасность *Разработка веб-сайтов *Системное администрирование *Nginx *
✏️ Технотекст 2022

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

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

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

Время на прочтение 3 мин
Количество просмотров 5K
JavaScript *Nginx *
Туториал
Из песочницы

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

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

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

Время на прочтение 8 мин
Количество просмотров 6.3K
Nginx *Git *Go *DevOps *
Туториал

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

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

Локальный сервер для разработки (dns, nginx & git)

Время на прочтение 5 мин
Количество просмотров 15K
Настройка Linux *Nginx *
Туториал
Из песочницы

В итоге мы получим домашний сервер с фейковым доменом, на поддомене которого мы развернём GitLab и настроим работу gitlab-runner'а для деплоя наших веб-проектов.

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

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

Мониторинг логов Nginx и повышение стабильности веб-приложения

Время на прочтение 3 мин
Количество просмотров 5.3K
Блог компании OTUS Nginx *
Перевод

Вы используете Nginx? А как у вас организован мониторинг логов Nginx?

Знаете ли вы, что мониторя логи nginx, вы можете значительно повысить стабильность и надежность своего веб-приложения?

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

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

Как мы создали Pingora, прокси-сервер, связывающий Cloudflare с Интернетом

Время на прочтение 9 мин
Количество просмотров 7.2K
Системное администрирование *Программирование *Nginx *Тестирование веб-сервисов *
Из песочницы
Перевод

Сегодня мы хотим рассказать о Pingora, новом HTTP-прокси, который мы создали своими силами с использованием Rust и который обслуживает более 1 триллиона запросов в день, повышает нашу производительность и предоставляет множество новых возможностей для клиентов Cloudflare, требуя при этом лишь треть ресурсов процессора и памяти от объема ресурсов нашей предыдущей инфраструктуры прокси.

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

Читаем дальше!
Всего голосов 22: ↑13 и ↓9 +4
Комментарии 15

Развертываем облачное хранилище NextCloud AIO на Windows в Docker для дома

Время на прочтение 26 мин
Количество просмотров 15K
Системное администрирование *Nginx *Apache *Хранилища данных *Облачные сервисы *
Туториал

Пробуем поставить Opensource облачное хранилище NextCloud для повседневного пользования на домашний компьютер с ОС Windows. Подробный гайд.

В этой статье:
Анализ целесообразности развертывания облака дома. Поэтапная настройка. Проблемы и технические решения. Плюсы и минусы NextCloud. Запуск NextCloud в Docker. Подробный разбор параметров контейнера NextCloud AIO. VPN-тоннель домой с использованием сервиса Hamachi. Обход проблемы отсутствия белого ip. Настройка reverse-proxy на базе Nginx, Apache или Caddy. Запуск HTTPS-сервера на домашнем компьютере. Получение SSL-сертификата с помощью сервиса letsencrypt. Краткий разбор форматов SSL-сертификатов. Настройка файервола в Windows.

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

Развертывание Spring Boot приложения с помощью Nginx, Let's Encrypt и Docker Compose

Время на прочтение 7 мин
Количество просмотров 10K
Разработка веб-сайтов *Java *Nginx *Серверное администрирование *DevOps *
Из песочницы

Привет, Хабр! В своей первой статье я бы хотел поделиться опытом в развертывании Spring Boot приложения. Но для начала небольшое отступление, которое должно ответить на вопросы зачем и почему.

Недавно я столкнулся с задачей разработать Telegram бота. Казалось бы, что тут сложного? Ну раз надо, то разрабатывай, где тут могут быть сложности? Но вот беда, ранее я не сталкивался с задачей развертывания проекта, тем более было много вопросов касаемо получения SSL сертификата так как Telegram API работает только с HTTPS протоколом. Увы после долгих поисков я так и не нашел статьи, которая ответила бы на все вопросы, поэтому процесс деплоя затянулся из-за того, что пришлось собирать весь материал по кусочкам. Теперь, когда у меня получилось разобраться с этой проблемой, я бы хотел вам рассказать как это сделать, чтобы сэкономить вам время и бонусом 2000 рублей за SSL сертификат.

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

Как настроить Nginx в качестве балансировщика нагрузки

Время на прочтение 9 мин
Количество просмотров 19K
Блог компании FirstVDS Nginx *Серверная оптимизация *Серверное администрирование *
Перевод

Что такое балансировка нагрузки?


Балансировка нагрузки подразумевает эффективное распределение входящего сетевого трафика между группой бэкенд-серверов. Задача же регулятора — распределить нагрузку между несколькими установленными бэкенд-серверами.

Существует несколько типов балансировщиков нагрузки:

  • Балансировщик нагрузки приложений.
  • Сетевой балансировщик нагрузки.
  • Балансировщик нагрузки шлюза.
  • Классический балансировщик нагрузки.
Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Комментарии 22

Босяцкий кластер высокой доступности

Время на прочтение 8 мин
Количество просмотров 13K
Высокая производительность *Системное администрирование *Nginx *Сетевые технологии *
Туториал
Перевод

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

Читать далее
Всего голосов 50: ↑45 и ↓5 +40
Комментарии 41

Как я создавал собственный сервер трансляции видео на базе домашнего ПК

Время на прочтение 10 мин
Количество просмотров 15K
Работа с видео *Nginx *Серверное администрирование *Видеотехника Периферия

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

История примерно такая. В нашем городе имеется своё местное телевидение. Оно транслируется в сети кабельного телевидения в аналоговом и цифровом (DVB-C) виде. Точнее, оно транслируется в определённое время по полчаса в день на телеканале-партнёре (в нашем случае – телеканал «Продвижение»). Кабельное телевидение доступно не каждому жителю. В основном оно протянуто в многоквартирных домах, каковым мой дом не является. А до сентября прошлого года телеканал местного ТВ вещали в ДМВ диапазоне в аналоговом виде. Именно этот и только этот телеканал я и смотрел, пока не прекратили вещание. Также имеется канал местного телевидения на ютубе, но там информация публикуется только на следующий день после премьеры. И то, информация не полная, только видеосюжеты. Мне пришла такая идея: сделать каким-то образом передачу местного телеканала с кабельного телевидения к себе домой через Интернет. У многих моих хороших знакомых в квартире есть кабельное телевидение. На базе одного из них я и решил осуществить задуманное.

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

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