Архив рубрики: NGINX

Вопросы, касающиеся работы web-сервера NGINX

Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer

10 августа 2019
 

 В первом посте — Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор — были рассмотрены основные компонены, теперь время применить их на практике. Продолжение — Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера. Следующим, что очень хотелось потрогать — это интеграция Kubernetes с AWS и работа с сетью: создать веб-сервис,… Читать далее »

NGINX: limit_req — ограничение количества запросов

9 августа 2019
 

 Задача — установить лимит количества запросов с одного IP: добавить rate limiter на URI /user/oauth/refresh_token число запросов — 5 в минуту с одного IP если запросов больше — возвращаем 429 Too Many Requests Используем NGINX и его модуль ngx_http_limit_req_module. limit_req_zone Для работы «лимитера» — следует создать зону, в которой будут хранится данные (а именно —… Читать далее »

NGINX: мульти-бранч деплой приложения с использованием NGINX map и HTTP Headers

26 июня 2019
 

 Имеется стандартный LEMP — NGINX, PHP-FPM. Приложение — Yii-фреймворк, который деплоится из Jenkins Ansible-ролью с помощью модуля synchronize на хосты в каталог /data/projects/prjectname/frontend/web, который является root в конфиге виртуалхоста NGINX. Задача: создать возможность деплоя из Jenkins приложения из разных бранчей — на хосте одновременно должны быть задеплоены разные версии приложения, доступ к которым будет определяться… Читать далее »

Bitwarden: менеджер паролей организации — установка self-hosted версии на AWS EC2

1 мая 2019
 

 Мы рассматриваем Bitwarden как менеджер паролей для проекта, основная цель которого — разделение доступа к различным секретам по ролям и/или ACL. Т.е. Pass и/или KeePass — это хорошо для одного пользователя, но у них нет главного — нормального веб-интерфейса, и разделения доступа к секретам для пользователей, а всякие 1Password/LastPass не имеют возможности установки на свой… Читать далее »

TestRail: QA Test Case Management система — установка на Linux

22 марта 2019
 

 TestRail — Test Case Management Software for QA and Development Teams. Собственно — этого достаточно для описания) Ниже — описание процесса его установки на Debian с NGINX, Let’s Encrypt, PHP-FPM, MariaDB и Exim. Домашняя страница проекта — www.gurock.com/testrail Документация по установке — тут>>>. Устанавливать будем на AWS EC2. LEMP и SSL Логинимся на сервер: Обновляем… Читать далее »

NGINX: access лог — логгирование всех запросов, кроме 200

19 марта 2019
 

 Задача — логгировать все запросы, кроме 200 ответов. Подход с map можно использовать для совершенно разных вещей. Например — задавать условия по наличию заголовка, и потом перенаправлять на различные location — попозже, наверно, добавлю такой пример. Сейчас нас интересуют две возможности NGINX — «условное логгирование» для выбора условий, при которых будем заносить  события в журнал,… Читать далее »

NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux

17 марта 2019
 

 После новости о том, что Dropbox вводит ограничение на 3 устройства — я таки созрел для установки NextCloud. Огорчил не сам лимит — у меня три устройства и используются, плюс оно повлияет только на новых пользователей (старые будут ограничены их текущим количеством устройств, а вот за дополнительные — придётся платить), сколько вообще введение подобных ограничений.… Читать далее »

Jenkins: HTTP full-duplex channel timeout

15 марта 2019
 

 При подключении к Jenkins с помощью Jenkins CLI — оно завершается с ошибкой. Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды — то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик. Подключение выглядит так: А в логах Jenkins-а —… Читать далее »

Prometheus: мониторинг для RTFM — Grafana, Loki и promtail

9 марта 2019
 

 После внедрения Loki на рабочем проекте — решил добавить его и себе. А заодно — добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будет заканчиваться место. Обычно «Ссылки по теме» размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,… Читать далее »

Nexus: установка, запуск, деплой в репозиторий + NGINX и SSL

27 сентября 2018
 

 У Android-команды поломался «деплой» через отправку письма с вложением на Gmail (было сделано ещё до меня), и появилась необходимость быстренько «накостылить» репозиторий. Планировался он давно, но сейчас будет без всякой автоматизации — просто руками поднять, запустить, что бы они могли деплоить. Использовать будем free-версию Sonatype Nexus, запускать будем на AWS EC2, из Docker-образа, бекенд будет… Читать далее »