1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/alexa-VeryNginx

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

VeryNginx

VeryNginx — это мощный и удобный Nginx.

中文文档

###Notice После версии v0.2, адрес панели управления был перемещён на /verynginx/index.html.

##Description

VeryNginx основан на lua_nginx_module(openrestry). Он реализует расширенный брандмауэр (WAF), статистику доступа и некоторые другие функции. Это усиливает функции Nginx и предоставляет дружественный веб-интерфейс.

Онлайн-демонстрация VeryNginx

Пользователь / Пароль: verynginx / verynginx

Полную версию руководства по настройке можно найти здесь: VeryNginx Wiki.

###Анализ состояния работы Nginx

  • Запрос в секунду
  • Время отклика
  • Сетевой трафик
  • Количество подключений TCP

Состояние Nginx

###Пользовательское действие

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

Пользовательское действие состоит из двух частей: Matcher и Action. Matcher используется для проверки соответствия запроса правилу, а Action — логика, которую вы хотите запустить.

Преимущество этого дизайна заключается в том, что Matcher включает все правила выбора и может быть повторно использован, что позволяет использовать правила для описания очень сложной логики.

####Matcher

Matcher используется для выбора части всех запросов. Matcher может содержать одно или несколько условий. В настоящее время поддерживаются следующие условия:

  • IP-адрес клиента
  • Хост
  • UserAgent
  • URI
  • Referer
  • Аргументы запроса

Когда запрос не конфликтует ни с одним из условий Matcher, запрос будет выбран Matcher.

####Action

Каждое Action относится к Matcher и будет выполняться для запросов, выбранных Matcher.

В настоящее время у нас есть следующие Action:

  • Scheme Блокирует схему до http/https
  • Redirect Перенаправляет запрос
  • URI Rewrite Выполняет внутреннее переписывание запроса
  • Browser Verify Использует set-cookies и javascript для проверки того, является ли клиент браузером, и блокирует трафик робота. Это действие может блокировать паука поисковой системы, поэтому включите его только при атаке.
  • Frequency Limit Ограничивает максимальное количество запросов за указанный период времени
  • Filter Блокирует некоторые запросы, может выполнять WAF

Matcher может выбирать запросы по нескольким условиям, поэтому с помощью Filter Action мы получили мощный WAF. WAF может фильтровать запросы со сложными правилами и возвращать специальный код состояния, когда он блокирует запрос.

VeryNginx предоставляет несколько простых правил фильтрации, которые могут предотвратить простую SQL-инъекцию, раскрытие файлов Git и SVN, атаки с обходом каталогов и общие инструменты сканирования.

VeryNginx Matcher

VeryNginx filter

####Backend

Каждый Backend относится к Matcher и обрабатывает запросы, выбранные Matcher.

Сейчас у нас есть такие Backend:

  • Proxy Pass Проксирует запрос на другой сервер
  • Static File Обрабатывает запрос файлом из локального файла

###Статистика запросов

VeryNginx может записывать запросы URI, включая следующие данные для каждого URI:

  • Общее количество запросов
  • Количество запросов для каждого кода состояния
  • Общий объём
  • Средний объём
  • Общее время ответа
  • Среднее время ответа

Статистика запросов

##Установка

###Установите Nginx / OpenResty

VeryNginx основан на OpenResty, поэтому вам нужно сначала установить его. Но не волнуйтесь, VeryNginx даёт скрипт для автоматической установки.

Просто запустите эту команду, openresty и verynginx будут установлены автоматически.

python install.py install

####Хотите использовать собственный Nginx?

VeryNginx может автоматически устанавливать openresty, так что вам не нужно устанавливать nginx (openresty) вручную.

Но если вы хотите использовать nginx, скомпилированный вами самостоятельно, это тоже нормально. Вы можете посмотреть некоторую помощь здесь.

Use-own-nginx

###Использование

####Редактирование файла конфигурации nginx

Файл конфигурации VeryNginx находится в /opt/verynginx/openresty/nginx/conf/nginx.conf, это демонстрационный файл. Вот перевод текста на русский язык:

Просто запустите verynginx, чтобы увидеть панель управления verynginx. Если вы хотите сделать что-то действительно полезное, вам нужно отредактировать этот файл и добавить в него свою собственную конфигурацию nginx.

В этот конфигурационный файл добавлены три команды include для встраивания verynginx в оригинальный nginx (openresty).

  • include /opt/verynginx/verynginx/nginx_conf/in_external.conf;
  • include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
  • include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;

Эти команды include были размещены вне блока, блока внутренней конфигурации http, внутри блока конфигурации сервера, помните, сохраняйте эти три строки при изменении. Если вы добавляете новый блок конфигурации сервера или блок конфигурации http, также необходимо добавить подходящую строку include в него.

Запуск / остановка / перезапуск службы

#Запуск службы
/opt/verynginx/openresty/nginx/sbin/nginx

#Остановка службы
/opt/verynginx/openresty/nginx/sbin/nginx -s stop

#Перезапуск службы
/opt/verynginx/openresty/nginx/sbin/nginx -s reload

Настройка VeryNginx на панели управления

После запуска службы вы можете увидеть состояние сервера и выполнить настройку на панели управления.

Адрес панели управления — http://{{your_machine_address}}/verynginx/index.html.

По умолчанию пользователь и пароль — verynginx / verynginx. Теперь вы сможете работать со всеми опциями.

Полную версию руководства по настройке можно найти в VeryNginx Wiki.

Устранение неполадок

Если у вас возникли проблемы во время установки, настройки или использования, вы можете обратиться к документу по устранению неполадок.

Устранение неполадок

Советы

  • Новые конфигурации вступят в силу сразу после сохранения. Нет необходимости перезапускать или перезагружать nginx.
  • Когда вы сохраняете конфигурацию, VeryNginx записывает все конфигурации в /opt/verynginx/verynginx/configs/config.json.
  • Если чат на странице состояния завис, вы можете нажать на значок шестерёнки в правом верхнем углу, чтобы отключить анимацию.
  • Если вы заблокировали себя в VeryNginx, сделав что-то глупое, вы всегда можете удалить config.json, чтобы вернуть VeryNginx к настройкам по умолчанию.

###Обновление VeryNginx / OpenResty

Со временем VeryNginx будет развиваться и может также поддерживать более новые версии OpenResty. Новая версия VeryNginx может поддерживать некоторые новые функции или исправлять старые ошибки. Если вы хотите обновить локально установленный VeryNginx, вам просто нужно извлечь последний код из github на локальный компьютер и запустить следующие команды:

#Обновить VeryNginx
python install.py update verynginx

#Обновить OpenResty
python install.py update openresty

install.py сохранит старый config.json и nginx.conf во время обновления. Так что вы не потеряете конфигурацию после обновления.

Сборка образа Docker VeryNginx

После клонирования кода в вашу локальную файловую систему вы можете запустить следующие команды:

cd Docker  
docker build -t verynginx .
docker run verynginx

Затем вы можете перейти в свой браузер http://{{your_docker_machine_адрес}}/verynginx/index.html

При желании вы можете запустить docker run -p xxxx:80 verynginx, чтобы сопоставить порт вашего контейнера 80 с портом вашего хоста xxxx.

Пожертвование

Если вам нравится VeryNginx, вы можете пожертвовать средства на поддержку моего развития VeryNginx. С вашей поддержкой я смогу сделать VeryNginx лучше 😎.

PayPal

Поддержка VeryNginx через PayPal

We Chat

Сканируйте QR-код, чтобы поддержать VeryNginx.

Спасибо

VeryNginx благодарит за помощь

###Наслаждайтесь~

[^openresty]: OpenResty Openresty — это расширенный nginx, объединяющий стандартный nginx core и множество сторонних модулей nginx.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

VeryNginx разработан на основе Lua_Nginx_Module (openresty) и включает в себя продвинутые функции, такие как межсетевой экран, сбор статистики посещений и другие. Он расширяет возможности Nginx и предоставляет удобный веб-интерфейс для взаимодействия. Развернуть Свернуть
LGPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/alexa-VeryNginx.git
git@api.gitlife.ru:oschina-mirror/alexa-VeryNginx.git
oschina-mirror
alexa-VeryNginx
alexa-VeryNginx
master