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

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

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

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

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

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

 

Frontend на nginx и IP-адреса клиентов в apache

nginx-apacheАдминам и программистам, использующим в качестве frontend сервера — Nginx, а в качестве backend — Apache, бывает необходимо видеть в логах  Apache реальные IP-адреса клиентов. По-умолчанию в логах backend-сервера светится только один IP и это Nginx, поскольку он производит проксирование трафика. Для того, чтобы увидеть реальные IP-адреса клиентов нам необходимо в Apache установить модуль mod_rpaf (модуль восстановления реального IP адреса клиента на backend сервере).

(далее…)

Bitrix и 301 redirect

Я не являюсь гуру Bitrix, поэтому прошу ногами не топтать, если вам мой способ редиректа домена на www вам не подходит. Итак, если коротко, то нам требуется сделать редирект сайта на Bitrix с некоего mysite.ru на www.mysite.ru.

Для этого открываем файл /etc/nginx/bx/site_enabled/s1.conf и просто в конфигурацию (в блок server) добавляем строку перед тем как начинаются include

Сохраняем файл конфигурации и проверяем конфигурационные файлы nginx (далее…)

HOWTO: SSL и NGINX

В данной заметке я расскажу как быстро привязать ssl сертификат к nginx. Испытания мы проведем тестовом сервере с тестовым сертификатом, который запросим у Comodo.

Итак, для начала определимся что у нас есть. А есть у нас один nginx сервер который смотрит в Интернет. И, для простоты, один внутренний (с ip 10.10.10.10) для которого и будет создаваться стандартное и ssl подключение. Конечно, серверов может быть сколько угодно. Но мы с вами сейчас не будем усложнять. (далее…)

Включение сжатия в nginx

В мемы, добавляем следующий код для сжатия в nginx.