nginx

15 commands

15 shown

Проверить конфигурацию Проверить nginx.conf без перезагрузки nginx -t #nginx Перезагрузить без даунтайма Плавная перезагрузка конфига без разрыва соединений nginx -s reload #nginx Скомпилированные модули Список встроенных и динамических модулей в бинарнике nginx -V 2>&1 | tr ' ' '\n' | grep module #nginx#debug Следить за access log Стримить IP, путь, код ответа и размер ответа tail -f /var/log/nginx/access.log | awk '{print $1, $7, $9, $10}' #nginx#logs#monitoring Запросы по коду ответа Частота каждого HTTP кода в access log awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn #nginx#monitoring Топ 10 запрашиваемых URL Самые популярные пути из access log awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10 #nginx#monitoring Топ IP по числу запросов Топ 10 клиентских IP по числу запросов awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10 #nginx#monitoring#security Блок rate limiting Лимит 10 запросов/с на IP с burst 20 (добавить в http/server) limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s; limit_req zone=api burst=20 nodelay; #nginx#security Проксирование на upstream Round-robin upstream с резервом и keepalive соединениями upstream backend { server 10.0.0.1:8080; server 10.0.0.2:8080 backup; keepalive 32; } #nginx#network Включить gzip Сжимать текстовые ответы ≥1KB на уровне 6 gzip on; gzip_types text/plain text/css application/json application/javascript; gzip_min_length 1024; gzip_comp_level 6; #nginx#performance JSON ответ об ошибке Кастомное JSON-тело для ответа на rate limit или ошибку error_page 429 /429.json; location = /429.json { default_type application/json; return 429 '{"error":"rate_limited"}'; } #nginx Редирект на HTTPS Постоянный редирект всего HTTP трафика на HTTPS server { listen 80; return 301 https://$host$request_uri; } #nginx#security Активные соединения Встроенная страница статуса: активные, чтение, запись, ожидание curl -s http://localhost/stub_status #nginx#monitoring Заблокировать диапазон IP Заблокировать подсеть и конкретный IP в location/server блоке deny 192.168.1.0/24; deny 10.0.0.1; allow all; #nginx#security Проксировать WebSocket WebSocket прокси с обязательными заголовками Upgrade location /ws/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; } #nginx#network
no commands match