Как настроить обратный прокси Nginx
В операционной системе Linux обратный прокси-сервер действует как связь между хостом (клиентом) и сервером. Он принимает клиентские запросы и передает их другим серверам и, наконец, доставляет ответ сервера клиенту, как если бы они исходили от самого прокси-сервера. В этом уроке мы покажем вам, что такое обратный прокси Nginx и как его настроить на вашем VPS!
Клиент и сервер постоянно обмениваются информацией, чтобы работать эффективно. Обычно обратные прокси используются веб-сервером. Обратный прокси-сервер или шлюз воспринимается клиентом как обычный веб-сервер, для которого не требуется никаких специальных настроек. Клиент выполняет обычные запросы, в то время как обратный прокси-сервер решает, куда передать информацию, доставляя окончательный результат клиенту, как если бы он был источником.
Обратный прокси-сервер Nginx имеет ряд преимуществ. Это один из наиболее активно используемых серверов с открытым исходным кодом в Интернете.
Во-первых, нам нужно получить доступ к нашему VPS-серверу по SSH. Если у вас возникли проблемы, ознакомьтесь с руководством по PuTTY!
Во-вторых, как мы объясним далее в руководстве, у вас уже должен быть установлен и настроен веб-сервер Apache, чтобы этот метод работал.
Теперь мы настроим Nginx перед веб-сервером Apache. Мы выбрали сервер Apache, потому что он лучше справляется с динамическим контентом.
Таким образом, весь статический контент перейдет в Nginx, а динамический контент - в Apache. Это повысит производительность за счет оптимизации доставки контента на основе критериев обработки.
Затем мы определим IP-адрес прокси-сервера Nginx как 192.xx1, а внутреннего сервера Apache как 192.xx2 . После настройки Apache мы можем перейти к следующим шагам:
Для этого мы должны сначала получить доступ к каталогу с помощью команды cd:
После завершения просто сохраните файл и выйдите из редактора vi. Вы можете сделать это, набрав : wq .
Для передачи информации на другие серверы вы можете использовать модуль ngx_http_proxy_module в терминале.
Теперь активируйте директивы, установив ссылку на /sites-enabled/ с помощью следующей команды:
Клиент и сервер постоянно обмениваются информацией, чтобы работать эффективно. Обычно обратные прокси используются веб-сервером. Обратный прокси-сервер или шлюз воспринимается клиентом как обычный веб-сервер, для которого не требуется никаких специальных настроек. Клиент выполняет обычные запросы, в то время как обратный прокси-сервер решает, куда передать информацию, доставляя окончательный результат клиенту, как если бы он был источником.
Обратный прокси-сервер Nginx имеет ряд преимуществ. Это один из наиболее активно используемых серверов с открытым исходным кодом в Интернете.
Преимущества использования обратного прокси Nginx
Давайте углубимся в причины, объясняющие, почему этот инструмент так популярен:- Он прост в реализации и обеспечивает пользователю высокий уровень защиты от атак веб-сервера, таких как DDoS и DoS.
- Обратный прокси-сервер Nginx помогает создать сбалансированную нагрузку между несколькими внутренними серверами и обеспечивает кеширование для более медленного внутреннего сервера.
- Nginx не требует настройки нового процесса для каждого веб-запроса от клиента. Скорее, конфигурация по умолчанию должна включать один рабочий процесс на ЦП.
- Он может действовать как обратный прокси-сервер для различных протоколов, таких как HTTP, HTTPS, TCP, UDP, SMTP, IMAP и POP3.
- Он может обрабатывать более 10000 подключений при небольшом объеме памяти. Nginx может управлять несколькими веб-серверами через один IP-адрес и доставлять каждый запрос на нужный сервер в локальной сети.
- Nginx - один из лучших веб-серверов для повышения производительности статического контента. Кроме того, также может быть полезно обслуживать содержимое кеша и выполнять шифрование SSL для снижения нагрузки с веб-сервера.
- Это также может быть полезно при оптимизации контента путем его сжатия для увеличения времени загрузки.
- Nginx может проводить рандомизированные эксперименты или A / B-тесты без размещения кода jаvascript на страницах.
Как настроить обратный прокси-сервер Nginx?
Важный:Во-первых, нам нужно получить доступ к нашему VPS-серверу по SSH. Если у вас возникли проблемы, ознакомьтесь с руководством по PuTTY!
Во-вторых, как мы объясним далее в руководстве, у вас уже должен быть установлен и настроен веб-сервер Apache, чтобы этот метод работал.
Теперь мы настроим Nginx перед веб-сервером Apache. Мы выбрали сервер Apache, потому что он лучше справляется с динамическим контентом.
Таким образом, весь статический контент перейдет в Nginx, а динамический контент - в Apache. Это повысит производительность за счет оптимизации доставки контента на основе критериев обработки.
Затем мы определим IP-адрес прокси-сервера Nginx как 192.xx1, а внутреннего сервера Apache как 192.xx2 . После настройки Apache мы можем перейти к следующим шагам:
1. Установите Nginx
Мы будем использовать команду apt в Ubuntu 18.04:sudo apt-get update
sudo apt-get install nginx
2. Отключите виртуальный хост по умолчанию.
После того, как вы установили Nginx, выполните следующую команду, чтобы отключить виртуальный хост:sudo unlink /etc/nginx/sites-enabled/default
3. Создайте обратный прокси Nginx.
После отключения виртуального хоста нам нужно создать файл с именем reverse-proxy.conf в каталоге /etc/nginx/sites-available для хранения информации обратного прокси.Для этого мы должны сначала получить доступ к каталогу с помощью команды cd:
cd /etc/nginx/sites-available/
Затем мы можем создать файл с помощью редактора vi:vi reverse-proxy.conf
В файл нам нужно вставить эти строки:server {
listen 80;
location / {
proxy_pass http://192.x.x.2;
}
}
В приведенной выше команде важным моментом является проход прокси-сервера, который позволяет запросам, проходящим через обратный прокси-сервер Nginx, проходить на 192.xx2: 80 , который является удаленным сокетом Apache. Таким образом, оба веб-сервера - Nginx и Apache разделяют контент.После завершения просто сохраните файл и выйдите из редактора vi. Вы можете сделать это, набрав : wq .
Для передачи информации на другие серверы вы можете использовать модуль ngx_http_proxy_module в терминале.
Теперь активируйте директивы, установив ссылку на /sites-enabled/ с помощью следующей команды:
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
4. Протестируйте Nginx и обратный прокси Nginx.
Наконец, нам нужно запустить тест конфигурации Nginx и перезапустить Nginx, чтобы проверить его производительность. Введите следующую команду, чтобы проверить работу Nginx на терминале Linux:service nginx configtest
service nginx restart
Помните, что если вы получили неудачный тест, это, скорее всего, указывает на то, что Apache был неправильно настроен.
Комментариев 0