Налаштування сервера
Правильне налаштування сервера є критично важливим для вебдодатків у продакшені. Hyperlane пропонує два способи керування вашим сервером: ServerConfig та RequestConfig.
ServerConfig керує самим HTTP-сервером. Ви використовуєте його для встановлення таких параметрів:
- Address: Використовуйте 0.0.0.0:80, щоб слухати всі інтерфейси. Використовуйте 127.0.0.1:8080, щоб обмежити доступ лише локальною машиною.
- Nodelay: Встановіть це значення на true, щоб зменшити затримку. Це дозволяє надсилати малі пакети негайно, замість того щоб буферизувати їх.
- TTL: Встановлює час життя (Time to Live) для вихідних пакетів. Значення 128 підходить для більшості випадків.
RequestConfig керує окремими HTTP-запитами. Це захищає ваш сервер від вичерпання ресурсів та атак. Ви можете встановити ці ліміти за допомогою JSON:
- buffer_size: Розмір буфера читання в байтах.
- max_path_size: Максимальна довжина шляху URL.
- max_header_count: Ліміт на кількість заголовків у запиті.
- max_body_size: Максимально допустиме тіло запиту. Це запобігає атакам типу denial-of-service.
- read_timeout_ms: Ліміт часу на читання даних запиту.
Hyperlane дозволяє завантажувати ці налаштування з JSON-рядка. Це полегшує використання змінних оточення в контейнеризованих середовищах.
Найкращі практики для продакшену:
- Використовуйте JSON для конфігурації. Це робить розгортання гнучким.
- Встановлюйте суворі ліміти на запити. Підлаштуйте max_body_size під ваші реальні потреби.
- Увімкніть nodelay для API-серверів, щоб підтримувати низьку затримку.
- Встановлюйте тайм-аути читання. Це не дозволить повільним клієнтам утримувати з'єднання відкритими.
- За можливості прив'язуйтеся до конкретних інтерфейсів замість 0.0.0.0.
Hyperlane надає вам контроль через код або JSON. Такий двоступеневий підхід гарантує, що ваш сервер залишатиметься швидким і безпечним.
Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/server-configuration-1dp9