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

OSCHINA-MIRROR/alexa-VeryNginx

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
readme_zh.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 24.11.2024 01:50 1edb6da

VeryNginx — это мощное и удобное расширение для Nginx.

Советы

  • После версии v0.2 консоль входа была перемещена в /verynginx/index.html.

Введение

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

Пример VeryNginx онлайн.

Имя пользователя / пароль: verynginx / verynginx.

Подробные инструкции по настройке см.: VeryNginx Github WiKi.

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

  • количество запросов в секунду;
  • время отклика;
  • сетевой трафик;
  • количество сетевых подключений.

Состояние работы Nginx

Пользовательское поведение

VeryNginx включает мощные пользовательские функции, позволяющие выполнять множество задач.

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

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

Matcher

Matcher используется для определения соответствия HTTP-запроса определённым условиям. Matcher может содержать одно или несколько ограничений, включая:

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

Если запрос не нарушает ни одно из условий в Matcher, он считается соответствующим этому Matcher.

Action

Каждое действие ссылается на Matcher. Когда Matcher соответствует запросу, выполняется соответствующее действие.

В настоящее время реализованы следующие действия:

  • Scheme Lock: ограничивает доступ к протоколу HTTPS или HTTP.
  • Redirect: перенаправляет запрос.
  • URI Rewrite: внутренне переписывает URI запроса.
  • Browser Verify: проверяет, является ли клиент браузером, с помощью set-cookies и JS, и блокирует небраузерный трафик. Эта функция может препятствовать работе поисковых роботов, рекомендуется включать её только при атаке или создавать специальные правила для поисковых систем.
  • Frequency Limit: ограничивает частоту доступа.
  • Filter (WAF): фильтр.

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

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

VeryNginx Matcher

VeryNginx filter

Backend

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

На данный момент реализованы следующие Backend:

  • Proxy Pass: переадресация запроса на другой сервер.
  • Static File: обработка запроса с использованием локальных файлов.

Статистика посещений

VeryNginx отслеживает статистику посещений каждого URI, включая общее количество запросов, количество запросов с каждым кодом состояния, общий объём отправленных данных, средний объём данных на запрос, общее время ответа и среднее время ответа. Можно также анализировать данные по различным правилам.

Nginx состояние работы

Установка и использование

VeryNginx основан на OpenResty[^openresty], поэтому для установки VeryNginx сначала необходимо установить OpenResty. Однако не стоит беспокоиться о возможных сложностях процесса установки, поскольку VeryNginx предлагает скрипт для автоматической установки.

Установка VeryNginx

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

python install.py install

Это позволит установить VeryNginx и все необходимые зависимости одним щелчком мыши.

Использование собственного Nginx?

VeryNginx может автоматически установить необходимый OpenResty для вас. Обычно вам не нужно устанавливать OpenResty самостоятельно.

Однако если вы хотите использовать собственноручно скомпилированный Nginx (OpenResty), это тоже возможно. Подробные инструкции см. в Wiki: Use own nginx.

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

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

Файл конфигурации VeryNginx находится по адресу /opt/verynginx/openresty/nginx/conf/nginx.conf. Это простой пример файла, который позволяет получить доступ к панели управления VeryNginx. Если вы хотите использовать VeryNginx для реальных задач, вам необходимо отредактировать этот файл и добавить свою конфигурацию Nginx.

Этот файл конфигурации представляет собой простой файл конфигурации Nginx с тремя дополнительными строками Include для реализации функций. Они включают:

  • 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;

Эти три строки добавляются соответственно вне блока http, внутри блока http и внутри блока server. При редактировании сохраняйте эти три строки. Если вы добавляете новый блок Server или блок http, также добавьте соответствующую строку include в новый блок.

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

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

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

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

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

Управление VeryNginx через веб-панель

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

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

По умолчанию имя пользователя и пароль — verynginx / verynginx.

После входа вы сможете просматривать статус и вносить изменения в конфигурацию. Изменения вступят в силу после сохранения.

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

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

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

Подробное описание конфигурации

Дизайн VeryNginx ориентирован на простоту использования. Если у вас есть базовые знания или вы хорошо знакомы с Nginx, вы сможете легко использовать его через панель управления.

Конечно, VeryNginx также предоставляет подробные документы для справки. VeryNginx Wiki

Совет

  • Изменения, внесённые в конфигурацию через панель управления, вступают в силу немедленно, без необходимости перезапуска или перезагрузки Nginx.

  • VeryNginx сохраняет конфигурацию в файле /opt/verynginx/verynginx/configs/config.json.

  • Графики на странице состояния по умолчанию имеют анимацию. Если есть задержки, вы можете отключить анимацию, нажав на значок шестерёнки в правом верхнем углу.

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

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

Со временем код VeryNginx будет развиваться, и он также может поддерживать обновлённые версии OpenResty, которые могут включать новые функции или исправлять старые ошибки. Чтобы обновить установленный локально VeryNginx, просто выполните pull. ## Скачать последний код с GitHub и обновить

Скачайте последний код с 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_address}}/verynginx/index.html.

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

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

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

PayPal

Поддержите VeryNginx с помощью PayPal.

WeChat

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

Благодарность

Спасибо всем за помощь с VeryNginx.

Опубликовать ( 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