1

Я прочитал документацию по обратному прокси-серверу NGINX UDP/TCP, но я немного запутался. Должен ли NGINX находиться как на прокси-сервере, так и на сервере, который прокси-сервер также будет перенаправлять?

Моя конфигурация будет моим прокси-сервером nginx udp с двумя ips (5.0.0.0, 6.0.0.0), которые я хотел бы повернуть, какие прокси на 153.0.0.0. Порт будет 2555.

Я запутался в отношении конфига.

директива listen для определения IP-адреса и / или порта, который прослушивает сервер.

Означает ли это IP-адрес сервера, на котором он будет работать через прокси (153.0.0.0), или внутренний IP-адрес?

Включите директиву proxy_pass, чтобы определить прокси-сервер или вышестоящую группу, в которую сервер перенаправляет трафик

Я не уверен что это значит

Укажите директиву proxy_bind и IP-адрес необходимого сетевого интерфейса:

Это внутренний IP или внешний IP, который он тоже будет связывать? (5.0.0.0)

Возможно, простая конфигурация поможет мне объяснить. Я нашел несколько примеров, но я не уверен, является ли это локальным, внешним прокси-сервером или сервером, на котором идет IP-прокси, поэтому это не помогает.

1 ответ1

2

Должен ли NGINX находиться как на прокси-сервере, так и на сервере, на который будет перенаправлен прокси-сервер?

Обычно это не обязательно.

Я в замешательстве по поводу [директивы прослушивания .]

Директива listen определяет «IP-адрес и / или порт, который прослушивает сервер», как указано. "Прослушивание" относится к мониторингу входящих соединений. "Сервер" - это компьютер, на котором размещен Nginx, поэтому он относится к IP-адресу и / или порту компьютера, получающего соединение (я) через прокси (которое затем будет передаваться этим компьютером).

ех. прослушивание IP 127.0.0.1 через порт 8080

listen 127.0.0.1:8080;

ех. прослушивать весь трафик udp через порт 53 (DNS)

listen 53 udp;

Я не уверен, что это означает: включите директиву proxy_pass, чтобы определить прокси-сервер или вышестоящую группу, в которую сервер перенаправляет трафик.

Директива proxy_pass определяет компьютеры, на которые прокси-сервер Nginx "передает" данные (серверы, которые фактически отвечают на данный запрос). Это может быть URL, IP-адрес или имя группы.

ех. URL (данные прокси передаются на сайт example.com для завершения запроса)

proxy_pass http://example.com;

ех. IP (данные прокси передаются на IP 127.0.0.1 для завершения запроса)

proxy_pass http://127.0.0.1;

ех. Группа (данные прокси передаются члену определенной группы для выполнения запроса)

upstream dns_servers {
    server 192.168.136.130:53;
    server 192.168.136.131:53;
}

#... 

proxy_pass dns_servers;

Обратите внимание, что группа выше может содержать URL-адреса вместо, например, backend1.example.com:53; ,

Укажите директиву proxy_bind и IP-адрес необходимого сетевого интерфейса - это внутренний IP-адрес или внешний IP-адрес, с которым он будет связан?

Директива proxy_bind «создает исходящие подключения к прокси-серверу с указанного локального IP-адреса с дополнительным портом». Так что в большинстве случаев он будет локальным (хотя привязка к удаленному IP возможна, как подробно описано в ссылке). Эта опция, вероятно, очень полезна, только если у вас есть несколько сетевых интерфейсов или вам нужно выбрать конкретный IP-адрес источника, потому что соединение требует определенного IP-адреса для правильной работы.

Возможно, простая конфигурация поможет мне объяснить.

Это может или не может подходить для вашей ситуации, но очень простой пример tcp/http может выглядеть так:

server {

         listen 2555;
         #... 

         location /app1/ {
               proxy_bind 5.0.0.0;
               proxy_pass http://153.0.0.0:2555;
          }

          location /app2/ {
                proxy_bind 6.0.0.0;
                proxy_pass http://153.0.0.0:2555;
          }

         #... 
} 

В качестве простого примера UDP-прокси:

stream {
    server {
        listen 2555 udp;
        proxy_pass receiving_servers;
        proxy_responses: 0;
        proxy_bind 5.0.0.0;
        #... 
    }

    upstream receiving_servers {
        server 153.0.0.0:2555;
    }

    #... 
}

Моя конфигурация будет моим прокси-сервером nginx udp с двумя ips (5.0.0.0, 6.0.0.0), которые я хотел бы повернуть, какие прокси на 153.0.0.0.

Если я не ошибаюсь, если вы хотите по-настоящему вращать IP-адреса, вам может потребоваться балансировщик нагрузки (возможно, другой сервер с Nginx) перед вашим прокси (я не уверен, что это можно сделать чисто внутренне).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .