Configuración del proxy inverso NGINX frente a Apache

Configuración del proxy inverso NGINX frente a Apache

En un sitio web de alto tráfico, es esencial asegurarse de que el servidor web pueda manejar una gran cantidad de solicitudes sin causar sobrecarga del servidor o bajo rendimiento. Una forma de lograr esto es mediante el uso de un servidor proxy inverso frente al servidor web. Un servidor proxy inverso, como NGINX, puede manejar las solicitudes de los clientes y reenviarlas al servidor web, descargar parte del trabajo y mejorar el rendimiento.

En este artículo, discutiremos cómo configurar NGINX como un proxy inverso frente a Apache para optimizar los sitios web de alto tráfico.

Paso 1: Instalación de Nginx

El primer paso para configurar NGINX como proxy inverso es instalarlo en su servidor. Puede instalar NGINX usando el Administrador de paquetes APT en Ubuntu ejecutando el siguiente comando:

Sudo Apt Update && Apt Install Nginx  

Una vez que se completa la instalación, puede iniciar el servicio NGINX ejecutando el siguiente comando:

sudo systemctl reiniciar nginx.servicio  

Paso 2: Configuración de Nginx como un proxy inverso

Después de instalar NGINX, debe configurarlo como un proxy inverso. Puede hacer esto creando un nuevo archivo de configuración en el /etc/nginx/conf.d/ directorio. Por ejemplo, puede crear un nuevo archivo llamado proxi.confusión:

sudo nano/etc/nginx/conf.d/proxy inverso.confusión  

Agregue la siguiente configuración:

servidor escuchar 80; Ejemplo de server_name.com; ubicación/proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header X-Real-IP $ Remote_addr; proxy_set_header x-forwarded-para $ proxy_add_x_forwarded_for;
12345678910servidor escuchar 80; Ejemplo de server_name.com; ubicación/proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header X-Real-IP $ Remote_addr; proxy_set_header x-forwarded-para $ proxy_add_x_forwarded_for;

Esta configuración le dice a NGINX que escuche en el puerto 80 y reenvíe las solicitudes al servidor Apache que se ejecuta en el puerto 8080. El proxy_set_header Las directivas se utilizan para transmitir el host, la dirección IP y otra información del cliente al servidor Apache.

Paso 3: Configuración de Apache

Después de configurar NGINX como un proxy inverso, debe configurar Apache para trabajar con él. Apache se ejecutará como servidor web de backend en un puerto no estándar. Puede hacerlo editando el archivo de configuración de Apache, ubicado en /etc/apache2/puertos.confusión, y agregar las siguientes líneas:

Escucha 8080
1Escucha 8080

Reemplace 80 con el nuevo puerto 8080. Esto le dice a Apache que escuche en el puerto 8080 y acepte solicitudes de cualquier dirección IP. Después de esto, vincule la configuración del host virtual con este puerto.

Ejemplo de nombre de servidor.com serveradmin [email protected] documentRoot/var/www/plointOverride all ErreteLog/var/log/apache2/error_log customLog/var/log/apache2/access_log combined combinados
12345678910 Ejemplo de nombre de servidor.com serveradmin [email protected] documentroot/var/www/ Permateverride todo ErrorLog/var/log/apache2/error_log customlog/var/log/apache2/access_log combined

En caso de que 8080 ya sea utilizado por otro servicio, elija cualquier otro puerto y actualice el bloque de servidor NGINX en consecuencia.

Paso 4: Habilitar MOD_RPAF

Cuando verifica los archivos de registro de Apache, obtendrá su dirección IP, ya que las solicitudes están siendo proxies del servidor local. Para identificar correctamente las direcciones IP de las solicitudes de realización de clientes, debe habilitar el módulo MOD_RPAF en Apache. Este módulo le permite a Apache interpretar correctamente el X-REAL-IP y X-Forward-For Encabezados establecidos por Nginx.

Para instalar y habilitar mod_rpaf, Ejecute los siguientes comandos:

 sudo apt-get install libapache2-mod-rpaf 

El comando anterior también habilitará el módulo.

Paso 5: Prueba de la configuración

Después de configurar Nginx y Apache, reinicie ambos servicios para aplicar cambios.

sudo systemctl reiniciar nginx.servicio  sudo systemctl reiniciar apache2.servicio  

Después de reafirmar los servicios, debe probar la configuración para asegurarse de que todo funcione correctamente. Puede hacerlo accediendo a su sitio web utilizando un navegador web y verificando que el contenido se muestra correctamente. También puede verificar los registros de Nginx y Apache para asegurarse de que no haya errores ni problemas.

Conclusión

En conclusión, la configuración de NGINX como un proxy inverso frente a Apache puede mejorar en gran medida el rendimiento y la escalabilidad de los sitios web de alto tráfico. Al descargar parte del trabajo del servidor web al servidor proxy inverso, puede reducir el riesgo de sobrecarga del servidor y mejorar la experiencia general del usuario. Siguiendo los pasos descritos en este artículo, puede instalar y configurar Nginx y Apache para trabajar juntos como un proxy inverso, y optimizar su sitio web de alto tráfico. Es importante monitorear regularmente el rendimiento de su servidor y ajustar sus configuraciones según sea necesario para garantizar un rendimiento y estabilidad óptimos.