Administracion del sistema

Cómo configurar Nginx Reverse Proxy

En esta guía, aprenderá cómo configurar un proxy inverso Nginx con instrucciones paso a paso. También explicaremos cómo funciona un servidor de proxy inverso y cuáles son sus ventajas. Además, también repasamos varias opciones de configuración que los administradores de Linux emplean comúnmente en sus servidores de proxy inverso.

En este tutorial aprenderás:

Cómo configurar Nginx Reverse Proxy

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Independiente de la distribución
Software Nginx
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

¿Cómo funciona un proxy inverso??

Un sistema que se encuentra entre un cliente y un servidor web (o servidores) se puede configurar como un proxy inverso. El servicio proxy actúa como un interfaz y funciona al manejar todas las solicitudes de clientes entrantes y distribuirlas a la web, la base de datos y/u otros servidores de back -end.



Beneficios de un proxy inverso

La configuración de un proxy inverso NGINX significa que todas las solicitudes entrantes se manejan en un solo punto, que proporciona varias ventajas:

SABÍAS?
Un servidor proxy inverso no es un componente necesario en cada escenario de alojamiento web. Las ventajas de un proxy inverso se vuelven más aparentes en condiciones o situaciones de alto tráfico donde se implementan múltiples servidores de backend y necesitan alguna forma de equilibrio de carga.

Por qué nginx?

Ahora que hemos esbozado las ventajas de un proxy inverso, es posible que se pregunte por qué debe configurar uno con Nginx, específicamente. La escalabilidad de NGINX y su capacidad probada para manejar un volumen extremadamente alto de conexiones significa que es perfecto para el despliegue como un proxy inversa y un equilibrador de carga.

Una aplicación común es colocar a Nginx entre los clientes y un servidor web, donde puede funcionar como un punto final para el cifrado SSL y el acelerador web. Las operaciones que normalmente aumentarían la carga en un servidor web, como el cifrado, la compresión y el almacenamiento en caché se pueden hacer de manera más eficiente a través de un proxy inverso NGINX.

Cómo configurar las instrucciones de Nginx Reverse Proxy paso a paso

Dado que hemos explicado cómo funciona un proxy inverso y cuáles son las ventajas para usar una, en esta sección revisaremos los pasos necesarios para configurar un proxy inverso NGINX.

  1. Instalar nginxyou puede instalar nginx con el administrador de paquetes de su sistema. En las distribuciones de Ubuntu y Debian, el comando es:
    $ sudo apt-get install nginx 

    En CentOS y Distribuciones de Hat Red:

    # yum install nginx 
  2. Deshabilitar el host virtual predeterminado
    # Unlink/etc/nginx/sites-habilitado/predeterminado 


  3. Cree una configuración de proxy inversa FileAll de la configuración para el proxy inverso entrará dentro de un archivo de configuración, y este archivo debe colocarse dentro del directorio disponible para sitios. Comience navegando al siguiente directorio:
    # CD/ETC/NGINX/Sites disponible 

    Luego use VI o su editor de texto preferido para crear el archivo de configuración:

    # VI Reverse-Proxy.confusión 

    Pegue la siguiente plantilla de configuración en este archivo recién creado:

    servidor escuchar 80; Ubicación/Some/Path/proxy_pass http: // ejemplo.com;  
    Copiar

    Reemplazar ejemplo.comunicarse con la dirección IP o el nombre de host del servidor al que está reenviando. También puede especificar un puerto con el nombre de host, como 127.0.0.1: 8080 Por ejemplo. Guarde sus cambios y luego salga del editor de texto.

    Tenga en cuenta que esto funcionará para los servidores HTTP, pero NGINX también admite otros protocolos. Cubriremos esas opciones en la siguiente sección.

  4. Habilite el proxy con su configuración guardada, habilite la nueva configuración creando un enlace simbólico al directorio habilitado para sitios:
    # ln -s/etc/nginx/sites-disponible/inverso-proxy.conf/etc/nginx/sites-habilitado/reverso-proxy.confusión 

Servidores no http

El ejemplo anterior muestra cómo pasar las solicitudes a un servidor HTTP, pero también es posible que NGINX actúe como un proxy inverso para Fastcgi, Uwsgi, SCGI, y memcached. En lugar de usar el proxy_pass Directiva que se muestra arriba, reemplácelo con el tipo apropiado:

Ejemplo predeterminado para la directiva FastCGI_Pass

Cómo pasar los encabezados

Para configurar qué encabezados, el servidor proxy inverso pasa a los otros servidores, podemos definirlos en el archivo de configuración que hicimos anteriormente. Utilizar el proxy_set_header directiva para ajustar los encabezados.
Se pueden configurar en el servidor, ubicación o bloque HTTP. Por ejemplo:

Ubicación/Some/Path/proxy_set_header host $ host; proxy_set_header x-forwarded-proto $ esquema; proxy_set_header X-Real-IP $ Remote_addr; proxy_pass http: // ejemplo.com; 
Copiar

El ejemplo anterior define tres tipos de encabezados y los establece en las variables respectivas. Hay muchas opciones diferentes para pasar los encabezados, pero este ejemplo muestra tres que son muy comunes.

El Anfitrión el encabezado contiene información sobre qué anfitrión se solicita. El X-Forwarded-Proto especies de encabezado si la solicitud es http o https. Y el X-REAL-IP El encabezado contiene la dirección IP del cliente solicitante.

Cómo configurar el equilibrio de carga

El equilibrio de carga es una de las principales justificaciones para configurar un servidor proxy inverso. Podemos comenzar agregando algunas líneas adicionales al archivo de configuración que creamos anteriormente. Eche un vistazo a un ejemplo:

Upstream backend_servers servidor host1.ejemplo.com; host de servidor2.ejemplo.com; Host3 del servidor3.ejemplo.com;  servidor escuchar 80; Ejemplo de server_name.com; ubicación/proxy_pass http: // backend_servers; 
Copiar

En este ejemplo, hemos agregado un contexto llamado backend_servers. Dentro de allí, el nombre de host/IP de cada servidor se especifica en una línea separada.

En el proxy_pass Directiva, donde normalmente ingresamos un nombre de host o dirección IP, en su lugar hemos especificado el nombre del contexto aguas arriba definido anteriormente: backend_servers.

Esta configuración reenviará las solicitudes entrantes a ejemplo.comunicarse a los tres hosts diferentes especificados en nuestro ascensor. De forma predeterminada, NGINX reenviará estas solicitudes Round Robin, lo que significa que cada host toma un giro en la solicitud de una solicitud.



Configurar algoritmos de equilibrio de carga

Como se mencionó, Round Robin es el algoritmo predeterminado que Nginx usará para rotar las solicitudes en el flujo ascendente. Hay algunos otros algoritmos disponibles, que se ajustan mejor a ciertas situaciones:

Especifique un método de equilibrio de carga en la parte superior del contexto aguas arriba, como así:

Upstream backend_servers MENSE_CONN; host de servidor1.ejemplo.com; host de servidor2.ejemplo.com; Host3 del servidor3.ejemplo.com; 
Copiar

Cómo probar la configuración de Nginx

Siempre debe probar su configuración para obtener errores inmediatamente después de editar el .confusión archivo y luego reiniciar Nginx.

# Servicio Nginx ConfigTest # Servicio Nginx reiniciar 

Conclusión

En este artículo vimos cómo configurar un servidor proxy inverso con Nginx. También aprendimos cómo funciona un servidor de proxy inverso y cuáles son las ventajas para usar uno. Cubrimos el equilibrio de carga y las diversas opciones que un administrador necesita para configurarlo en su propio proxy inverso.

Después de seguir los pasos de esta guía, con suerte verá un aumento significativo de rendimiento en su entorno web y le resulta más fácil administrar ahora que las conexiones entrantes se están enviando a un solo punto.

Ejemplo de algoritmo de búsqueda binaria en C ++
Aquí hay un simple ejemplo de búsqueda binaria en C++. El ejemplo primero crea un vector de 4 000 000 números y luego hace una llamada de función de.....
Cisco CCNA - Dirección IP Rango de Clase B
Bits de red 16 bits de red disponibles (x) 10xxxxxx xxxxxxxxx hosts Hosts Esto nos dejan con 14 bits designados para el número de redes. Ya que hay......
Banca en línea segura con Linux USB Live
Resumen La banca en línea se está convirtiendo en una forma muy popular de satisfacer nuestras necesidades bancarias y esto incluso incluye personas s...