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

OSCHINA-MIRROR/githubsync-orange

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 10:04 7540c94

Оранжевая

GitHub release license

中文 | English | Website

Оранжевая — это API-шлюз на основе OpenResty. Помимо основных функций Nginx, он также может использоваться для мониторинга API, контроля доступа (аутентификация, WAF), фильтрации трафика, ограничения скорости, A/B-тестирования и динамического распределения нагрузки. Он имеет следующие характеристики:

  • предоставляет набор инструментов Dashboard для динамического управления различными функциями и конфигурациями;
  • предлагает API-интерфейсы для реализации сторонних сервисов (например, персонализированные операции по обслуживанию, сторонние инструменты Dashboard и т. д.);
  • позволяет создавать собственные плагины для расширения функциональности Оранжевой в соответствии с требованиями.

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

Установка зависимостей

  • OpenResty: версия должна быть 1.9.7.3 или выше. Для корректной работы плагина мониторинга HTTP-состояния необходимо скомпилировать OpenResty с параметром --with-http_stub_status_module. Из-за использования *_block инструкций рекомендуется использовать версию OpenResty не ниже 1.9.7.3.
  • lor фреймворк. Если используется версия Orange ниже v0.6.2, то следует установить lor версии 0.2.*. Если используется Orange версии v0.6.2 или выше, то следует использовать lor версии 0.3.0 или более поздней.
  • MySQL. Для настройки хранилища и кластерного расширения требуется поддержка MySQL. Начиная с версии 0.2.0, Orange больше не использует локальное файловое хранилище, а поддерживает только MySQL.

Импорт данных в MySQL

  1. Создайте базу данных с именем orange в MySQL.
  2. Импортируйте соответствующий SQL-скрипт (например, install/orange-v0.6.4.sql) в базу данных orange.

Изменение конфигурации файла

У Оранжевой есть два файла конфигурации: conf/orange.conf для настройки плагинов, методов хранения и встроенного инструмента Dashboard по умолчанию, и conf/nginx.conf для конфигурации Nginx (OpenResty).

Конфигурация в orange.conf выглядит следующим образом. Пожалуйста, внесите необходимые изменения:

{
    "plugins": [ //список доступных плагинов. Если они не нужны, их можно удалить из списка, система автоматически загрузит открытые API этих плагинов и выставит их на порт 7777
        "stat",
        "monitor",
        "redirect",
        "rewrite",
        "rate_limiting",
        "property_rate_limiting",
        "basic_auth",
        "key_auth",
        "signature_auth",
        "waf",
        "divide",
        "kvstore"
    ],

    "store": "mysql",//в настоящее время поддерживается только mysql
    "store_mysql": { //конфигурация MySQL
        "timeout": 5000,
        "connect_config": {//информация о подключении, пожалуйста, измените её в соответствии со своими потребностями
            "host": "127.0.0.1",
            "port": 3306,
            "database": "orange",
            "user": "root",
            "password": "",
            "max_packet_size": 1048576
        },
        "pool_config": {
            "max_idle_timeout": 10000,
            "pool_size": 3
        },
        "desc": "конфигурация mysql"
    },

    "dashboard": {//конфигурация инструмента Dashboard по умолчанию
        "auth": false, //установите значение true, чтобы требовать аутентификацию для доступа к Dashboard. По умолчанию используются имя пользователя и пароль admin/orange_admin
        "session_secret": "y0ji4pdj61aaf3f11c2e65cd2263d3e7e5", //соль для шифрования cookie, которую можно изменить самостоятельно
        "whitelist": [//URI, которые не требуют аутентификации, например, страница входа, не требует изменений
            "^/auth/login$",
            "^/error/$"
        ]
    },

    "api": {//конфигурация сервера API
        "auth_enable": true,//требуется ли авторизация при доступе к API
        "credentials": [//настройки HTTP Basic Auth, действительны только при включённом auth_enable, добавьте или измените их самостоятельно
            {
                "username":"api_username",
                "password":"api_password"
            }
        ]
    }
}

В conf/nginx.conf содержатся некоторые настройки Nginx. Проверьте и измените или добавьте настройки в соответствии с вашими потребностями, особенно обратите внимание на следующие параметры:

  • lua_package_path: необходимо настроить в соответствии с локальной средой. Например, путь установки lor фреймворка.
  • resolver: DNS-разрешение.
  • разрешения для каждого server или location, например, требуется ли разрешение через allow/deny для указания конфигурации чёрного и белого списков IP-адресов.

Установка

Если используется версия до v0.5.0, установка не требуется, просто поместите скачанную Оранжевую в подходящее место.

Если используется версия v0.5.0 и выше, можно выполнить команду make install для установки Оранжевой на систему. После выполнения этой команды будут установлены следующие файлы:

/usr/local/orange     #файлы, необходимые для запуска Оранжевой
/usr/local/bin/orange #инструмент командной строки Оранжевой

Запуск

До версии v0.5.0 использовался простой скрипт оболочки для запуска/перезапуска Оранжевой. Выполните sh start.sh для запуска. Можно создать сценарий обслуживания на основе start.sh. По сути, это запуск/остановка Nginx.

Кроме того, начиная с версии v0.5.0, после выполнения make install Оранжевая устанавливается в системе, и ею можно управлять с помощью команды orange. Выполнив orange help, вы увидите доступные команды:

Usage: orange COMMAND [OPTIONS]

Команды:

start   Начать работу Оранжевого шлюза
stop    Остановить текущую Оранжевую
reload  Перезагрузить конфигурацию Оранжевой
restart Перезапустить Оранжевую
store   Инициализировать/обновить/сделать резервную копию хранилища Оранжевой
version Показать версию Оранжевой
help    Показать подсказки по использованию

После успешного запуска Оранжевой dashboard и API Server также запускаются:

  • встроенный инструмент Dashboard доступен по адресу http://localhost:9999;
  • API Server по умолчанию слушает порт 7777. Если API Server не нужен, соответствующие настройки в nginx.conf можно удалить.

Документация

Docker

https://store.docker.com/community/images/syhily/orange поддерживается @syhily.

Вкладчики

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/githubsync-orange.git
git@api.gitlife.ru:oschina-mirror/githubsync-orange.git
oschina-mirror
githubsync-orange
githubsync-orange
master