Como posso configurar um proxy reverso UDP NGINX e como ele funciona?

0

Eu li a documentação sobre o proxy reverso UDP / TCP do NGINX, mas estou um pouco confuso. O NGINX precisa estar tanto no servidor proxy quanto no servidor que o proxy encaminhará também?

Minha configuração será meu servidor proxy nginx udp com dois ips (5.0.0.0, 6.0.0.0) que gostaria de rotacionar quais proxies para 153.0.0.0. Porto será 2555.

Estou confuso em relação à configuração.

listen directive to define the IP address and/or port on which the server listens.

Isso significa que o IP do servidor também será proxy (153.0.0.0) ou o IP interno?

Include the proxy_pass directive to define the proxied server or an upstream group to which the server forwards traffic

Não tenho certeza do que isso significa

Specify the proxy_bind directive and the IP address of the necessary network interface:

Este é o IP interno ou o IP externo que será vinculado também? (5.0.0.0)

Possivelmente, uma configuração simples ajudará a me explicar. Eu encontrei alguns exemplos, mas não tenho certeza de qual é o servidor proxy local, externo ou o servidor que está fazendo proxy IP, portanto não ajuda.

    
por Rhys 03.12.2017 / 03:38

1 resposta

1

Does NGINX need to be on both the proxy server, and the server that the proxy will forward to?

Isso normalmente não é necessário.

I am confused regarding the [listen directive.]

A diretiva listen define "o endereço IP e / ou a porta em que o servidor escuta ", como declarado. "Ouvir" refere-se ao monitoramento de conexões de entrada. O "servidor" é o computador que hospeda o Nginx, portanto, ele se refere ao IP e / ou à porta do computador que recebe a (s) conexão (s) do proxy (a qual o computador transmitirá).

ex. ouça o IP 127.0.0.1 na porta 8080

listen 127.0.0.1:8080;

ex. ouça todo o tráfego do udp na porta 53 (DNS)

listen 53 udp;

I am unsure what this means: Include the proxy_pass directive to define the proxied server or an upstream group to which the server forwards traffic.

A diretiva proxy_pass define o (s) computador (es) para o qual o proxy Nginx "passa" dados (os servidores que realmente respondem a uma determinada solicitação). Pode ser um URL, um endereço IP ou um nome de grupo.

ex. URL (dados de proxy são passados para example.com para completar a solicitação)

proxy_pass http://example.com;

ex. IP (dados de proxy são passados para IP 127.0.0.1 para completar o pedido)

proxy_pass http://127.0.0.1;

ex. Grupo (dados de proxy são passados para um membro do grupo definido para completar o pedido)

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

#... 

proxy_pass dns_servers;

Observe que o grupo acima pode conter URLs, por exemplo, backend1.example.com:53; .

Specify the proxy_bind directive and the IP address of the necessary network interface - is this the internal IP or the external IP that it will bind to?

A diretiva proxy_bind "faz com que as conexões de saída para um servidor proxy sejam originadas do endereço IP local com uma porta opcional ". Portanto, na maioria dos casos, ele será local (embora a vinculação a um IP remoto seja possível, conforme detalhado no link). Esta opção provavelmente só será realmente útil se você tiver várias interfaces de rede ou precisar escolher um endereço IP de origem específico, pois uma conexão requer um IP específico para funcionar corretamente.

Possibly a simple configuration will help explain [things] to me.

Isso pode ou não ser apropriado para sua situação, mas um exemplo muito simples de tcp / http pode parecer:

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 um exemplo simples de um 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;
    }

    #... 
}

My configuration will be my nginx udp proxy server with two ips (5.0.0.0, 6.0.0.0) that I would like to rotate which proxies to 153.0.0.0.

Se eu não me engano, se você quiser realmente rodar IPs, você pode precisar de um balanceador de carga (talvez outro servidor com Nginx) na frente do seu proxy (não tenho certeza se isso pode ser feito puramente internamente). / p>     

por 03.12.2017 / 07:40