Nginx или NGINX – это широко распространенный веб-сервер с множеством функций, включая балансировку нагрузки, обратное проксирование, кэширование контента, проксирование почты и многое другое. Это гибкое и надежное решение, известное своей высокой производительностью и эффективным использованием ресурсов. Обратный прокси управляет входящим трафиком и перенаправляет запросы на внутренние серверы, привязанные к определенным TCP-портам, для таких приложений, как Node.js, Odoo, Tomcat и других. В этом руководстве вы научитесь настраивать Nginx в качестве обратного прокси на Ubuntu 24.04.
Шаг 1. Обновление системных пакетов
Для начала войдите на ваш Ubuntu 24.04 по SSH:
ssh root@IP_Address -p Port_number
Замените IP_Address и Port_number на фактический IP-адрес вашего сервера и номер порта SSH. При необходимости замените root на имя пользователя вашей учетной записи sudo.
После входа в систему необходимо убедиться, что все пакеты Ubuntu, установленные на сервере, обновлены. Это можно сделать, выполнив следующую команду:
apt update && apt-upgrade -y
Шаг 2. Установите Nginx
Если на вашем сервере Ubuntu 24.04 еще не установлен Nginx, вы можете установить Nginx с помощью команды apt:
apt install nginx -y
После установки Nginx вы можете проверить версию Nginx и запущен ли сервер Nginx с помощью команд:
nginx -version nginx version: nginx/1.24.0 (Ubuntu)
На момент написания этого поста версия Nginx составляет 1.
systemctl status nginx
Если сервер Nginx работает, вы должны получить аналогичный результат.
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled) Active: active (running) since Wed 2024-10-16 07:27:58 UTC; 42min ago Docs: man:nginx(8) Process: 967 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 976 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 979 (nginx) Tasks: 2 (limit: 4218) Memory: 3.0M (peak: 3.2M) CPU: 19ms CGroup: /system.slice/nginx.service ├─979 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" └─980 "nginx: worker process" Oct 16 07:27:58 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server… Oct 16 07:27:58 systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
Теперь, когда у вас установлен и работает Nginx, вы можете приступить к настройке обратного прокси.
Шаг 3: Настройка Nginx в качестве обратного прокси
Теперь, когда Nginx установлен, вы можете настроить его как обратный прокси. Основные файлы конфигурации Nginx хранятся в каталоге /etc/nginx/nginx.conf, а конфигурации отдельных серверов – в каталоге /etc/nginx/sites-available/.
Сначала вы можете создать новый блок серверов для обратного прокси, перейдя в каталог /etc/nginx/sites-available/:
cd /etc/nginx/sites-available/
и создайте новый файл конфигурации, например reverse-proxy.conf:
nano reverse-proxy.conf
Добавьте конфигурацию обратного прокси. Ниже приведен пример конфигурации для проксирования трафика на внутренний сервер, работающий на порту 3000:
nginx server { 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; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
proxy_pass: Эта директива определяет внутренний сервер, на который должны быть перенаправлены запросы.
Директивы proxy_set_header необходимы для сохранения информации о клиенте, что полезно для протоколирования и обработки на бэкенде.
Теперь вы можете включить конфигурацию, создав символическую ссылку в директории sites-enabled:
ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
Проверьте конфигурацию Nginx, чтобы убедиться в отсутствии синтаксических ошибок:
nginx -t
Если проверка прошла успешно, перезапустите Nginx, чтобы применить изменения:
systemctl restart nginx
Теперь откройте веб-браузер и зайдите на сайт http://yourdomain.com. Если все настроено правильно, вы должны увидеть содержимое, обслуживаемое вашим внутренним приложением.
Шаг 6: Настройка SSL
Настроив обратный прокси для вашего домена, вы можете защитить его с помощью SSL. Вы можете получить бесплатный SSL-сертификат с помощью Lets Encrypt. Вот быстрый способ сделать это:
Установите Certbot с помощью команды:
apt install certbot python3-certbot-nginx
Получите и установите SSL-сертификат для вашего домена:
certbot --nginx -d yourdomain.com
Certbot автоматически настроит ваш Nginx на SSL и перезагрузит службу. Вы можете проверить SSL, посетив сайт https://yourdomain.com.
Заключение
Вы успешно настроили Nginx в качестве обратного прокси на Ubuntu 24.04. Независимо от того, проксируете ли вы запросы к одному приложению или используете Nginx для балансировки нагрузки на нескольких серверах, он является важным инструментом в арсенале любого системного администратора.
Комментарии (0)