Как перенаправить запрос на другой порт в NGINX

NGINX позволяет перенаправлять запросы с одного сервера на другой. Обычно он используется для перенаправления запросов от обратного прокси-сервера к веб-серверу. Во многих случаях он также используется для перенаправления URL-адресов в случае изменения или перемещения вашего домена. Но иногда вам может понадобиться перенаправить запрос на другой порт в NGINX. В этой статье мы узнаем, как это сделать.

Как перенаправить запрос на другой порт в NGINX

Допустим, вы хотите перенаправить запрос http://example.com/product/abc на http://example.com:9000/abc. В этом случае вы можете добавить блок location в конфигурацию вашего сервера NGINX.

В приведенном выше коде мы создаем блок location для URL, начинающихся с /route. Не забудьте добавить прямую косую черту после номера порта 9000, как показано выше.

Приведенный выше блок перенаправления будет перенаправлять запрос на разные порты одного и того же сервера. Если вы хотите перенаправить запрос на другой порт на другом сервере (например, 54.43.32.21), замените 127.0.0.1 на этот номер порта.

Если вы хотите перенаправить запрос http://example.com/product/abc на http://example.com:9000/product/abc, добавьте следующий блок location. В этом случае не добавляйте прямую косую черту после номера порта, как показано ниже.

В качестве альтернативы вы также можете использовать следующую конфигурацию, которая является более подробной и предлагает больше возможностей для настройки. Например, эта конфигурация позволяет сохранить имя хоста, в то время как вышеприведенные конфигурации этого не делают.

В каждом из приведенных выше примеров, если у вас возникнут проблемы, попробуйте использовать 'location /route/' вместо 'location /route' и наоборот.

Заключение

В этой статье мы изучили несколько простых способов перенаправления запроса на другой порт в том же сервере NGINX.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий