Junior
За какво се използва Nginx?
sobes.tech AI
Отговор от 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;
}
}