ru

Nginx reverse proxy на VPS: настройка и оптимизация

Nginx — универсальный reverse proxy для любого backend-стека: Node.js, Python, PHP, Go, Java. Правильная настройка Nginx на VPS обеспечивает SSL-терминацию, кеширование, балансировку нагрузки и защиту от базовых атак.

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

Базовая конфигурация Nginx reverse proxy

Nginx как reverse proxy принимает запросы на портах 80/443 и перенаправляет их на backend (Node.js на 3000, Gunicorn на 8000, PHP-FPM через socket). Это позволяет запускать несколько приложений на одном VPS, разделяя их по доменным именам (virtual hosts). Минимальная конфигурация reverse proxy: server block с listen 80, server_name yourdomain.com и location / с директивой proxy_pass http://localhost:3000. Добавьте proxy_set_header Host $host и proxy_set_header X-Real-IP $remote_addr, чтобы backend видел реальный IP клиента, а не 127.0.0.1. Для Unix socket (PHP-FPM, Gunicorn) используйте proxy_pass http://unix:/run/gunicorn.sock — это быстрее TCP-соединения на 10-30% благодаря меньшим накладным расходам ядра. На VPS от Anubiz Host Unix sockets работают без ограничений.

SSL-терминация и HTTPS на Nginx

SSL-терминация на Nginx означает: клиент подключается по HTTPS к Nginx, Nginx расшифровывает трафик и передаёт backend по HTTP (внутри VPS). Backend не занимается шифрованием — это снижает его нагрузку. Certbot автоматически настраивает SSL на Nginx: certbot --nginx -d yourdomain.com создаёт сертификат Let's Encrypt, добавляет SSL-конфигурацию в nginx.conf и настраивает автообновление через systemd timer. Сертификаты обновляются каждые 90 дней без вашего участия. Современная SSL-конфигурация: ssl_protocols TLSv1.2 TLSv1.3 (отключите TLS 1.0/1.1), ssl_ciphers с ECDHE-приоритетом, ssl_session_cache shared:SSL:10m для переиспользования сессий. Заголовок HSTS (Strict-Transport-Security) принудительно включает HTTPS на уровне браузера. HTTP/2 активируется добавлением http2 к директиве listen 443: это ускоряет загрузку страниц через мультиплексирование запросов и серверное push-уведомление ресурсов.

Nginx как load balancer между несколькими backend

Nginx upstream block определяет пул backend-серверов для балансировки нагрузки. На одном VPS это несколько процессов одного приложения (PM2 cluster mode): upstream nodejs { server 127.0.0.1:3001; server 127.0.0.1:3002; server 127.0.0.1:3003; }. Алгоритмы балансировки: round-robin (по умолчанию) — запросы распределяются поочерёдно; least_conn — запрос идёт на сервер с наименьшим числом активных соединений (лучше для длинных запросов); ip_hash — клиент всегда попадает на один backend (sticky sessions). Health checks (доступны в Nginx Plus или через сторонние модули в open-source версии): Nginx помечает backend как недоступный при повторяющихся ошибках (max_fails = 3, fail_timeout = 30s) и временно исключает из ротации. Это обеспечивает отказоустойчивость без ручного вмешательства.

Nginx кеширование и оптимизация производительности

Nginx proxy cache сохраняет ответы backend на диске и отдаёт повторные запросы без обращения к приложению. Конфигурация: proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g. Для WordPress-сайтов или API с редко меняющимися данными это снижает нагрузку на backend в 10-50 раз. gzip-компрессия: gzip on + gzip_types для HTML, CSS, JS, JSON, SVG. Сжатие уменьшает размер передаваемых данных на 60-80%. Директива gzip_comp_level 6 — компромисс между степенью сжатия и нагрузкой на CPU. Статика с долгим кешированием: location ~* \.(?:css|js|woff2|png|jpg)$ { expires 1y; add_header Cache-Control "public, immutable"; }. Браузер кеширует ресурсы на год — повторные посещения загружаются мгновенно из кеша. Rate limiting защищает от DDoS и брутфорса: limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s ограничивает каждый IP до 10 запросов в секунду к API-endpoint. Превышение лимита возвращает 429 Too Many Requests.

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online