¿Cómo puedo configurar un proxy inverso UDP NGINX y cómo funciona?

0

He leído la documentación del proxy inverso UDP / TCP de NGINX, pero estoy un poco confundido. ¿Es necesario que NGINX esté tanto en el servidor proxy como en el servidor que el proxy reenviará también?

Mi configuración será mi servidor proxy udp nginx con dos ips (5.0.0.0, 6.0.0.0) que me gustaría rotar los proxies a 153.0.0.0. El puerto será 2555.

Estoy confundido respecto a la config.

Directiva de escucha para definir la dirección IP y / o el puerto en el que el   el servidor escucha

¿Significa esto que la IP del servidor que también será proxy (153.0.0.0), o la IP interna?

Incluya la directiva proxy_pass para definir el servidor proxy o un   Grupo ascendente al que el servidor reenvía el tráfico.

No estoy seguro de lo que esto significa

Especifique la directiva proxy_bind y la dirección IP de los necesarios.   interfaz de red:

¿Es esta la IP interna o la IP externa que también se enlazará? (5.0.0.0)

Posiblemente una configuración simple me ayude a explicarme. He encontrado algunos ejemplos, pero no estoy seguro de cuál es el servidor local, externo, proxy, o el servidor al que está ofreciendo proxy por lo que no ayuda.

Rhys
fuente

Respuestas:

1

¿Es necesario que NGINX esté tanto en el servidor proxy como en el servidor al que se reenviará el proxy?

Esto normalmente no es necesario.

Estoy confundido con respecto al [ escucha directiva.]

los escucha La directiva define "la dirección IP y / o el puerto en el que el servidor escucha", como se indica. "Escuchar" se refiere al monitoreo de conexiones entrantes. El "servidor" es la computadora que aloja Nginx, por lo que se refiere a la IP y / o el puerto de la computadora que recibe la (s) conexión (es) proxy (es decir, esa computadora pasará)

ex. escuchar IP 127.0.0.1 en el puerto 8080

listen 127.0.0.1:8080;

ex. escuchar todo el tráfico udp en el puerto 53 (DNS)

listen 53 udp;

No estoy seguro de lo que esto significa: Incluya la directiva proxy_pass para definir el servidor proxy o un grupo ascendente al que el servidor reenvía el tráfico.

los proxy_pass La directiva define las computadoras a las que el proxy Nginx "pasa" los datos (los servidores que realmente responden a una solicitud determinada). Puede ser una URL, una dirección IP o un nombre de grupo.

ex. URL (los datos del proxy se pasan a example.com para completar la solicitud)

proxy_pass http://example.com;

ex. IP (los datos de proxy se pasan a IP 127.0.0.1 para completar la solicitud)

proxy_pass http://127.0.0.1;

ex. Grupo (los datos de proxy se pasan a un miembro del grupo definido para completar la solicitud)

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

#... 

proxy_pass dns_servers;

Tenga en cuenta que el grupo anterior puede contener direcciones URL, por ejemplo, backend1.example.com:53; .

Especifique la directiva proxy_bind y la dirección IP de la interfaz de red necesaria - ¿Es esta la IP interna o la IP externa a la que se enlazará?

los proxy_bind directiva "hace que las conexiones salientes a un servidor proxy se originen a partir de la especificada dirección IP local con un puerto opcional ". Entonces, en la mayoría de los casos, será local (aunque es posible enlazar con una IP remota como se detalla en el enlace). Es probable que esta opción solo sea realmente útil si tiene varias interfaces de red o necesita elegir Dirección IP de origen porque una conexión requiere una IP específica para funcionar correctamente.

Posiblemente una configuración simple ayude a explicarme [cosas].

Esto puede o no ser apropiado para su situación, pero un ejemplo de TCP / http muy simple podría ser:

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;
          }

         #... 
} 

Como un simple ejemplo de una Proxy 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;
    }

    #... 
}

Mi configuración será mi servidor proxy udp nginx con dos ips (5.0.0.0, 6.0.0.0) que me gustaría rotar los proxies a 153.0.0.0.

Si no me equivoco, si realmente desea rotar las direcciones IP, es posible que necesite un equilibrador de carga (tal vez otro servidor con Nginx) frente a su proxy (no estoy seguro de si esto se puede hacer de manera exclusivamente interna).

Anaksunaman
fuente