Junior
119
questionbank
Для чего используется Nginx?
Ответ от нейросети
sobes.tech AI
Nginx — высокопроизводительный асинхронный веб-сервер и обратный прокси-сервер, используемый для:
- Обслуживания статических файлов: Быстрая и эффективная отдача HTML, CSS, JavaScript, изображений и других статических ресурсов. Благодаря асинхронной архитектуре, он может обрабатывать большое количество одновременных подключений с низким потреблением ресурсов.
- Обратного проксирования: Передача клиентских запросов на один или несколько бэкенд-серверов (приложения, API) и возвращение ответов клиентам. Это позволяет балансировать нагрузку, повышать безопасность (скрывая внутреннюю структуру сети), выполнять SSL-терминацию.
- Балансировки нагрузки: Распределение входящих запросов между несколькими серверами для повышения доступности и масштабируемости приложения. Поддерживает различные алгоритмы балансировки (например, round robin, least connections).
- Кеширования: Кеширование статических и динамических ресурсов для снижения нагрузки на бэкенды и ускорения отклика.
- SSL/TLS-терминации: Расшифровка HTTPS-трафика перед его передачей на бэкенд, что снимает нагрузку с серверов приложений и позволяет централизованно управлять сертификатами.
- Сжатия: Сжатие данных (например, Gzip) перед отправкой клиенту для уменьшения трафика и ускорения загрузки страниц.
- Ограничения скорости запросов: Защита бэкендов от перегрузки путем ограничения количества запросов от отдельного клиента за определенный промежуток времени.
- Веб-фаервола (WAF): Базовая защита от распространенных веб-атак (например, SQL-инъекций, XSS).
# Пример конфигурации Nginx для обслуживания статики и проксирования API
server {
listen 80;
server_name example.com; # Доменное имя
location / {
root /var/www/html; # Путь к статическим файлам
index index.html;
}
location /api/ {
proxy_pass http://backend_server:8080; # Проксирование запросов к API на другой сервер
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}