Многие в курсе о существовании веб-сервера nginx, разработанного российским программистом Игорем Сысоевым, однако не все подозревают, насколько действительно мощным функционалом этот веб-сервер обладает.
В данной статье, команда аеза, расскажет о настройке проксирования TCP и UDP трафика с помощью модуля stream для nginx на примере сервера под управлением Debian 11. Этот способ подойдет и для других Debian-based систем (Ubuntu и пр.), однако для других дистрибутивов может потребоваться ручная компиляция nginx с нужным модулем, если в базе дистрибутива не найдется нужного пакета. В случае с CentOS(и AlmaLinux) модуль stream устанавливается отдельно, командой
Итак, предполагается, что мы уже подключены к серверу. Если Вы еще не устанавливали nginx, то установим его стандартным путем с помощью пакетного менеджера apt:
2. Установим nginx командой:
После установки nginx можно приступать к его конфигурации в качестве прокси-сервера:
Проверим конфиг и перезапустим nginx для его применения:
Для проверки работы прокси запустим на другом сервере прослушивание порта 15555 (TCP) и попробуем отправить любую информацию по этому порту на прокси-сервер с nginx:
Данный вывод показывает, что запрос сначала пришел на настроенный оригинальный прокси-сервер, а затем перенаправился на сервер, указанный в конфигеnginx.conf, то есть проксирование работает корректно.
В нашем примере мы также настроили прослушивание порта 17777 (UDP), поэтому проверим работу прокси и с данным протоколом посредством отправления произвольных данных:
В данной статье, команда аеза, расскажет о настройке проксирования TCP и UDP трафика с помощью модуля stream для nginx на примере сервера под управлением Debian 11. Этот способ подойдет и для других Debian-based систем (Ubuntu и пр.), однако для других дистрибутивов может потребоваться ручная компиляция nginx с нужным модулем, если в базе дистрибутива не найдется нужного пакета. В случае с CentOS(и AlmaLinux) модуль stream устанавливается отдельно, командой
Наша команда рекомендует использование nginx вместо HAProxy из-за того, что nginx обладает более высокой производительностью и отлично работает в многопоточном режиме.yum install nginx-mod-stream.
Итак, предполагается, что мы уже подключены к серверу. Если Вы еще не устанавливали nginx, то установим его стандартным путем с помощью пакетного менеджера apt:
- Обновим информацию о пакетах командой:
apt update
2. Установим nginx командой:
apt installnginx–y
После установки nginx можно приступать к его конфигурации в качестве прокси-сервера:
- Перейдем в директорию, где находится конфиг:
2. Переименуем стандартный конфиг для его удобного восстановления к изначальному виду при необходимости:cd /etc/nginx
3. Начнем создание конфига с помощью удобного редактора, в данном случае это nano:mv nginx.confnginx.conf.bak
4. Простейший рабочий конфиг будет выглядеть следующим образом:nano nginx.conf
load_module /usr/lib/nginx/modules/ngx_stream_module.so; #Загружаем модуль stream
user www-data;
worker_processes auto;
pid /run/nginx.pid;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
stream {
server {
listen 15555; #Указываем nginx слушать порт 15555 (TCP)
proxy_pass IP:15555; #Указываем трафику отправляться на заданный адрес и порт
server {
listen 17777 udpreuseport; #Указываем прослушивать порт 17777 (UDP)
proxy_pass IP:17777;
5. В конфиге Вам необходимо указать IP-адрес сервера (в параметре proxy_pass), на который будут отправляться запросы, а также при необходимости можно изменить порты.
Проверим конфиг и перезапустим nginx для его применения:
nginx -t
nginx –s reload
Для проверки работы прокси запустим на другом сервере прослушивание порта 15555 (TCP) и попробуем отправить любую информацию по этому порту на прокси-сервер с nginx:
Данный вывод показывает, что запрос сначала пришел на настроенный оригинальный прокси-сервер, а затем перенаправился на сервер, указанный в конфигеnginx.conf, то есть проксирование работает корректно.
В нашем примере мы также настроили прослушивание порта 17777 (UDP), поэтому проверим работу прокси и с данным протоколом посредством отправления произвольных данных:
Итог:
Мы удостоверились, что прокси-сервер работает корректно. Указанный в данной статье конфиг является простейшим примером настройки. Если Вас заинтересовали дополнительные возможности модуля stream, то для углубленного изучения его возможностей Вы можете обратиться к документацииПрисоединяйтесь к лучшему:-Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками
Вход или Регистрация