NetworkAdmin.ru
4.78K subscribers
224 photos
26 videos
2 files
511 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
🌐 Настройка NGINX как TCP/UDP Reverse Proxy

Когда речь заходит о NGINX, большинство сразу думают о HTTP-прокси. Но на самом деле он умеет работать и с TCP/UDP, начиная с версии 1.9.0 (с поддержкой модуля stream). Это отличный способ пробросить нестандартные протоколы - от MySQL до DNS.

▪️ Пример: TCP Reverse Proxy (например, для проброса SSH)
Включаем модуль stream и прописываем в конфигурации:


# /etc/nginx/nginx.conf
stream {
upstream ssh_backend {
server 192.168.1.100:22;
}

server {
listen 2222;
proxy_pass ssh_backend;
}
}


Теперь при подключении к NGINX по порту 2222, трафик будет перенаправляться на внутренний сервер по SSH-порту 22.

▪️ Пример: UDP Reverse Proxy (например, DNS)


stream {
upstream dns_backend {
server 192.168.1.53:53;
}

server {
listen 53 udp;
proxy_pass dns_backend;
}
}


Важно: UDP-прокси работает не со всеми типами UDP-протоколов - требуется тестирование.

▪️ Возможности stream-модуля:

📍 Load-balancing для TCP/UDP (с least_conn, round-robin)
📍 Проксирование SSL, SSH, MySQL, RDP и других нестандартных протоколов
📍 Поддержка access log, limit_conn, geo-блокировки
📍 Возможность защиты backend-ов без дополнительного софта


▪️ Полезные опции:


proxy_timeout 10s;
proxy_connect_timeout 5s;
proxy_protocol on;


proxy_protocol - если используется PROXY protocol от клиента (например, HAProxy).
timeout - не даём соединениям висеть вечно.

#nginx #reverseproxy

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥162😱1