Nginx - это широко используемый веб-сервер со многими функциями, включая балансировку нагрузки, обратное прокси-серверирование, кэширование контента, почтовое прокси и многое другое. Это гибкое и надежное решение, известное своей высокой производительностью и эффективным использованием ресурсов. Обратный прокси-сервер управляет входящий трафик и пересылает запросы на серверы бэкэнда, связанные с определенными портами TCP для таких приложений, как Node.js, Odoo, Tomcat и других. В этом уроке вы научитесь настраивать Nginx как обратный прокси на Ubuntu 24.04.
Предпосылки
- Ubuntu 24.04 VPS.
- Доступ к корню SSH или пользователь с привилегиями sudo.
Конвенции
|
|
Шаг 1. Обновление системных пакетов
Для начала зайдите в свой Ubuntu 24.04 VPS с помощью SSH:
|
|
Замените «IP_Address» и «Port_number» фактическим IP-адресом вашего сервера и номером порта SSH. При необходимости замените «root» на имя пользователя вашей учетной записи Sudo.
После входа в систему вы должны убедиться, что все пакеты Ubuntu, установленные на сервере, обновлены. Вы можете сделать это, выполнив следующую команду:
|
|
Шаг 2. Установите Nginx
Если на вашем сервере Ubuntu 24.04 Nginx еще не установлен, вы можете установить Nginx с помощью команды apt:
|
|
После установки Nginx вы можете проверить версию Nginx, и если сервер Nginx работает с командами:
|
|
Версия Nginx составляет 1,24.0 на момент написания сообщения.
Теперь, когда у вас установлен и запущен Nginx, вы можете пойти дальше и настроить обратный прокси.
Шаг 3. Настройка Nginx в качестве обратного прокси
Теперь, когда Nginx установлен, вы можете настроить его как обратный прокси. Основные файлы конфигурации Nginx хранятся в каталоге /etc/nginx/nginx.conf
, а отдельные конфигурации сервера находятся в каталоге /etc/nginx/sites-available/
.
Во-первых, вы можете создать новый блок сервера для вашего обратного прокси, перейдя в каталог /etc/nginx/sites-available/
:
|
|
и создать новый файл конфигурации, например, reverse-proxy.conf
:
|
|
Добавьте обратную конфигурацию прокси. Ниже приведена примерная конфигурация для прокси-сервера, работающего на порту 3000:
|
|
proxy_pass
: Данная директива определяет сервер бэкэнда, куда следует направлять запросы.
Директивы proxy_set_header
необходимы для сохранения информации о клиенте, что полезно для регистрации и обработки бэкэнда.
Теперь вы можете включить конфигурацию, создав символическую ссылку в каталоге с поддержкой сайтов:
|
|
Проверьте конфигурацию Nginx, чтобы убедиться, что нет синтаксических ошибок:
|
|
Если тест будет успешным, перезапустите Nginx, чтобы применить изменения:
|
|
Откройте веб-браузер и посетите http://yourdomain.com. Если все настроено правильно, вы должны увидеть контент, обслуживаемый вашим бэкэнд-приложением.
Шаг 4. Настройка SSL
С обратным прокси-сервером, настроенным для вашего домена, теперь вы можете защитить его с помощью SSL, вы можете получить бесплатный SSL-сертификат с помощью Let’s Encrypt. Вот быстрый способ сделать это:
Установите Certbot с командой:
|
|
Получите и установите SSL-сертификат для вашего домена:
|
|
Certbot автоматически настроит Nginx для SSL и перезагрузит сервис. Вы можете проверить SSL, посетив https://yourdomain.com.
Завершение
Вы успешно настроили Nginx как обратный прокси на Ubuntu 24.04. Независимо от того, выполняете ли вы прокси-запросы в одном приложении или используете Nginx для балансировки нагрузки на нескольких серверах, это важный инструмент в наборе инструментов любого системного администратора.