Перейти к содержимому

Настройки сервера

На этой странице описана базовая структура серверного конфигурационного файла .mgc, назначение ключевых блоков и параметры блока general.


Конфигурация разделяется на логические блоки:

  • general — глобальные параметры сервера (адрес, порт, режим, криптография)
  • app — настройки прикладного поведения сервера
  • web — параметры веб-обслуживания
  • net — параметры сетевого обслуживания

general

Базовые параметры прослушивания, режим работы и криптографические настройки.

app

Поведение приложения и параметры, зависящие от типа сервера.

web

Настройки веб-маршрутизации, reverse-proxy и связанного обслуживания.

net

Параметры сетевых сервисов и низкоуровневой обработки трафика.

Блок general задаёт сетевые и криптографические параметры сервера.
Блок app определяет поведение приложения (например, web, net и другие варианты в зависимости от типа сервиса).


Блок general содержит параметры, которые определяют базовое поведение серверного экземпляра: адрес прослушивания, порт, режим транспорта и TLS-параметры.

general: [
address: "127.0.0.1"
port: 443
mode: "https"
php_fpm_address: "127.0.0.1:9000"
crypto_provider: "awslcrs"
protocol_version: ["tls12", "tls13"]
]
  • HTTPS reverse-proxy — mode: "https" + crypto_provider
  • TCP proxy — mode: "tcp"
  • UDP-сервис (DNS, VoIP и др.) — mode: "udp"
  • Локальный dev-сервер — address: "127.0.0.1" + нестандартный порт

HTTPS reverse-proxy

Используйте mode: "https" и укажите crypto_provider и protocol_version для управления TLS.

Локальная разработка

Для локального запуска удобно использовать 127.0.0.1 и отдельный порт (например, 4433).

ПолеТипОписаниеПример
addressstringIP-адрес для прослушивания входящих соединений127.0.0.1
portnumberПорт сервера443, 4433
modestringРежим работы сервера (http, https, tcp, udp)“https”
php_fpm_addressstringАдрес PHP-FPM для обработки PHP-запросов127.0.0.1:9000
crypto_providerstringРеализация криптографического backend для TLS”awslcrs”
protocol_versionstring[]Список разрешённых версий TLS[“tls12”, “tls13”]

Plain HTTP без TLS-шифрования.

Подходит для:

  • внутренней сети
  • локальной разработки
  • работы за внешним TLS-терминатором
  • awslcrs — AWS crypto library (на основе BoringSSL/OpenSSL)
  • ring — backend на базе rustls
  • magma — ГОСТ-криптосистема
  • grasshopper — ГОСТ Р 34.12-2015
  • openssl — OpenSSL

Поддерживаемые значения (пример):

  • tls12
  • tls13

Рекомендуемый набор для современных конфигураций:

protocol_version: ["tls12", "tls13"]

  1. Укажите address и port.
  2. Выберите mode в соответствии с типом сервиса.
  3. Для https задайте crypto_provider.
  4. Настройте protocol_version.
  5. При необходимости добавьте php_fpm_address (для PHP-сценариев).

Минимальный пример для локальной разработки (HTTPS)

general: [
address: "127.0.0.1"
port: 4433
mode: "https"
crypto_provider: "openssl"
protocol_version: ["tls12", "tls13"]
]