Конвертируем pfx в crt и key файл

Итак, есть виндовый pfx. Решили закрыть backend nginx-ом. Надо конвертить сертификат, чтобы nginx его понял. Открываем консоль и пишем

На выходе получаем [certificate.crt] и [keyfile-decrypted.key]. Теперь можно поднимать ssl на nginx

Статистика по обращениям к nginx в realtime

Иногда бывает полезно увидеть TOP IP адресов с которых идут обращения к вашему backend. Если у вас настроено логивание в nginx access.log, то с помощью такого нехитрого скрипта можно получить самые «активные» IP

Поменять параметр в билде, используя TeamCity API

В данной заметке приведу пример powershell скрипта, которым меняю настройки проекта используя API Teamcity. К сожалению у TeamCity нет нативного «интерфейса» через который это можно было было сделать. Простой пример. Предположим, у вас 2 TeamCity. Скажем, на первый это основной сервер. А на втором вы собираете всякие демо стенды. Также вы хотите что бы количество FXCOP warnings было не ниже чем на основном. Для этого последним шагом можно добавить скрипт, который дернет API и передаст нужное значение. Ниже пример на powershell, который передаст FXCOP warnings на другой сервер:

 

Примеры по tcpdump и ssldump

Снимаем дамп трафика SSL/HTTPS и получаем заголовки

Получить POST заголовки

 

2-факторная авторизация средствами nginx

Привет, друзья. Сегодня я хочу поведать о том, как я запилил 2-х факторную авторизацию на любое количество ресурсов. Итак, у нас есть некоторые web-ресурсы, доступ к которым должен быть ограничен списком белых IP-адресов и подсетей. Хороший пример это билд сервера или wiki. У админов не всегда есть возможность быстро обновлять ПО на серваках. Поэтому хотелось бы прикрыть к таким ресурсам доступ некой заглушкой.

Именно для этих целей мы с вами запилим динамический список «авторизованных IP-адресов» с помощью nginx. Конечно, реализовать функционал вы можете своими средствами, ухватив основную идею. Общий алгоритм для IP-адресов которые не попадают в список белых IP:

  1. nginx смотрит, что IP, с которого пытаются обратиться к «закрытому» ресурсу не входит в список авторизованных. После чего делается 302 редирект на сайт авторизации. В моем случае это authme.domain.com.
  2. После перехода открывается простая форма с предложением ввести email адрес.
  3. Проверяется что email валидный. В моем случае, я проверяю что email принадлежит зоне domain.com.
  4. Если email валидный, генерируется ключ(с привязкой к IP с которого пришел запрос), который сразу высылается ссылкой на почту.
  5. Пользователь проверяет почту и переходит по ссылке.
  6. authme.domain.com проверяет, что ключ и IP адрес валидные. После чего добавляет в конфигурационный файл nginx IP-адрес в список белых адресов. После чего делается nginx reload, что тот перепрочитал конфигурационные файлы.

Надеюсь основная идея вам ясна. Подходит это вам или нет — решать вам. По ссылке вы найдете docker контейнеры с приложением на nodejs и nginx. Ну и там же есть пример использования.

https://github.com/voiplab/docker

 

Чистим историю в базе данных zabbix

Ни для кого не секрет , что со временем база данных zabbix увеличивается. Поэтому покажу вам как ее почистить в базе. Итак, подключаемся любым удобным клиентом к базе mysql и далее по списку. Читать далее

Установка второго агента TeamCity на сервер

Иногда более продуктивно установить на один сервер несколько агентов TC. Для этого:

  1. Качаем инсталлятор и запускаем установку. В процессе устновки нужно изменить путь(c:\buildagent2\) и снять галку с поля «установить сервис». В окне настройки поменять ownPort на другой.
  2. Редактируем файл c:\buildagent2\launcher\conf\wrapper.conf. Скроллим вниз и меняем имя сервиса, описание и тд.
  3. Переходим в каталог c:\buildagent2\launcher и выполняем в консоли команду ..\bin\service.install.bat от администратора.
  4. Запускаем второго агента
  5. Профит

TeamCity — установка JAVA 64 bit

Остановить TeamCity Server и Agent

Скачать последнюю версию JRE и установить. Скопировать файлы из C:\Program Files\Java\jre1.8.0_111 в C:\TeamCity\jre

Установить переменную окружения TEAMCITY_SERVER_MEM_OPTS со значением -Xmx4g -XX:MaxPermSize=270m -XX:ReservedCodeCacheSize=350m

Перезапустить сервис.