Настройки
ncorn можно настроить через параметры командной строки, конфигурационный файл или программно.
Параметры командной строки
Основные параметры
| Параметр |
Описание |
По умолчанию |
app |
Приложение в формате 'module:app' |
Обязательно |
--host |
Хост для привязки |
127.0.0.1 |
--port |
Порт для привязки |
8000 |
--reload |
Включить авто-перезагрузку |
false |
--workers |
Количество воркеров |
1 |
Ограничения запросов
| Параметр |
Описание |
По умолчанию |
--max-body-size |
Максимальный размер тела запроса |
16777216 (16MB) |
--max-headers |
Максимальное количество заголовков |
100 |
--keepalive-requests |
Макс. запросов на keep-alive соединение |
100 |
Таймауты
| Параметр |
Описание |
По умолчанию |
--header-timeout |
Таймаут чтения заголовков |
30.0 |
--body-timeout |
Таймаут чтения тела |
60.0 |
--keepalive-timeout |
Таймаут keep-alive |
5.0 |
Rate Limiting
| Параметр |
Описание |
По умолчанию |
--rate-limit |
Лимит запросов в окно |
100 |
--rate-limit-window |
Окно rate limiting |
60.0 |
SSL/TLS
| Параметр |
Описание |
По умолчанию |
--ssl-keyfile |
Путь к SSL ключу |
None |
--ssl-certfile |
Путь к SSL сертификату |
None |
--ssl-version |
Версия TLS (2=TLSv1, 3=TLSv1.1, 4=TLSv1.2, 5=TLSv1.3) |
5 |
Другие параметры
| Параметр |
Описание |
По умолчанию |
--verbose |
Подробное логирование |
false |
Конфигурационный файл
ncorn также поддерживает конфигурацию через файл ncorn.json:
{
"host": "0.0.0.0",
"port": 8000,
"workers": 4,
"reload": false,
"max_body_size": 16777216,
"ssl_keyfile": "certs/key.pem",
"ssl_certfile": "certs/cert.pem",
"ssl_version": 5
}
Параметры командной строки переопределяют настройки из файла.
Программная настройка
Вы также можете настроить ncorn программно:
from ncorn.config import Config
from ncorn.server import HTTPServer
from myapp import app
config = Config(
host="0.0.0.0",
port=8080,
workers=4,
max_body_size=32 * 1024 * 1024,
ssl_keyfile="certs/key.pem",
ssl_certfile="certs/cert.pem",
)
server = HTTPServer(app, config)
Переменные окружения
ncorn поддерживает настройку через переменные окружения:
NCORN_HOST — хост сервера
NCORN_PORT — порт сервера
NCORN_WORKERS — количество воркеров
NCORN_SSL_KEYFILE — путь к SSL ключу
NCORN_SSL_CERTFILE — путь к SSL сертификату