GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar Nginx como proxy inverso para Apache en Ubuntu 18.04 VPS

Apache y Nginx son servidores web gratuitos, de código abierto y los más utilizados en el mundo. Apache es el servidor número uno, mientras que Nginx ocupa el segundo lugar. Apache es conocido por su potencia y compatibilidad con backend, mientras que Nginx es conocido por su velocidad. Nginx proporciona un amplio conjunto de características que incluyen balanceo de carga, seguridad y aceleración. El uso de Nginx como proxy inverso le permite utilizar estas funciones para cualquier aplicación web.

La configuración de un proxy inverso lo ayuda a ocultar la identidad de sus servidores backend y proteger sus servidores de ataques. Un proxy inverso también realiza el equilibrio de carga y distribuye la solicitud del cliente entre los servidores backend. Esto puede ser muy útil cuando algunos servidores se sobrecargan debido a un pico repentino en las solicitudes de los clientes.

El uso de Nginx como proxy inverso para Apache permitirá que ambos servidores trabajen juntos y le permitirá aprovechar los beneficios de ambos servidores. Puede monitorear fácilmente qué tráfico entra y sale a través del proxy inverso.

En este tutorial, aprenderemos cómo instalar y configurar Nginx como proxy inverso para Apache en Ubuntu 18.04 VPS. Configuraremos Apache para que se ejecute en el puerto 8080, configuraremos Nginx para que se ejecute en el puerto 80 y reenviaremos las solicitudes de los clientes que lleguen en el puerto 80 al servidor web Apache.

Requisitos

  • Un VPS de servidor Ubuntu 18.04 nuevo en Atlantic.net Cloud.
  • Un nombre de dominio válido apunta a su dirección IP de VPS. En este tutorial, usaremos example.com

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 18.04 como sistema operativo, con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 18.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

Paso 2:instalar y configurar Apache

Primero, deberá instalar el servidor web Apache en su VPS. Puede instalar Apache ejecutando el siguiente comando:

apt-get install apache2 -y

Una vez instalado, inicie el servicio web Apache y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:

systemctl start apache2
systemctl enable apache2
nano /etc/apache2/ports.conf

Busque la siguiente línea:

Listen 80

Reemplácelo con lo siguiente:

Listen 127.0.0.1:8080

Guarde y cierre el archivo. Luego, abra el archivo de host virtual predeterminado de Apache con el siguiente comando:

nano /etc/apache2/sites-available/000-default.conf

Busque la siguiente línea:

<VirtualHost *:80>

Reemplácelo con lo siguiente:

<VirtualHost 127.0.0.1:8080>

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio web Apache para aplicar todos los cambios de configuración:

systemctl restart apache2

Ahora puede verificar que el servidor web Apache está escuchando en el puerto 8080 con el siguiente comando:

netstat -ant | grep 8080

Debería ver el siguiente resultado:

tcp 0 127.0.0.1:8080 0.0.0.0:* LISTEN

Paso 3:instalar y configurar Nginx

A continuación, deberá instalar Nginx y configurarlo como un proxy inverso para reenviar las solicitudes que llegan en el puerto 80 al servidor web Apache que está escuchando en el puerto 8080.

Puede instalar el servidor web Nginx ejecutando el siguiente comando:

apt-get install nginx -y

Una vez instalado, inicie el servicio Nginx y habilítelo para que se inicie después de reiniciar el sistema:

systemctl start nginx
systemctl enable nginx

A continuación, configure el proxy inverso de Nginx creando un nuevo archivo de host virtual:

nano /etc/nginx/sites-available/example.com

Agregue las siguientes líneas:

server {
   listen 80;

   root /var/www/html/;
   index index.html index.htm;

   server_name example;

   location \ {

   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_set_header Host $host;
   proxy_pass http://127.0.0.1:8080;
}

}

Guarde y cierre el archivo. Luego, habilite el archivo de configuración del host virtual con el siguiente comando:

ln -s /etc/nginx/sites-disponible/example.com /etc/nginx/sites-enabled/

Luego, verifique Nginx por cualquier error de sintaxis con el siguiente comando:

nginx -t

Si todo es correcto, debería obtener el siguiente resultado:

nginx:la sintaxis del archivo de configuración /etc/nginx/nginx.conf está bien
nginx:la prueba del archivo de configuración /etc/nginx/nginx.conf es exitosa

Finalmente, reinicie el servicio Nginx para aplicar estos cambios de configuración:

systemctl reiniciar nginx

Paso 4:pruebe el proxy inverso de Nginx

Nginx y Apache están instalados y configurados correctamente. Ahora, puede probar la funcionalidad del proxy inverso de Nginx.

Para hacerlo, abra su navegador web y escriba la URL http://example.com. Será redirigido a la página predeterminada de Apache como se muestra en la siguiente pantalla:

Conclusión

¡Felicidades! Ha instalado y configurado correctamente Nginx como un proxy inverso para el servidor web Apache. También puede configurar Nginx como proxy inverso para otras aplicaciones como Tomcat, Wildfly, Node.Js y Glassfish.

Si está listo para comenzar con un servidor privado virtual para alojar sus sitios web, visite la página de alojamiento VPS de Atlantic.Net para encontrar un paquete de alojamiento adecuado para usted.


Linux
  1. Cómo configurar un proxy inverso Nginx

  2. Cómo configurar Nginx como proxy inverso en Ubuntu 20.04

  3. Cómo instalar Odoo 10 en Ubuntu 16.04 con Apache como proxy inverso

  4. Cómo instalar Odoo 12 en Ubuntu 18.04 con Apache como proxy inverso

  5. Cómo instalar Odoo 14 en Ubuntu 20.04 con Apache como proxy inverso

Cómo configurar Apache como proxy frontend para Node.js

Cómo configurar Nginx como proxy inverso para Apache en Debian 11

Cómo configurar el proxy inverso de Nginx

Cómo configurar Tomcat con Nginx como proxy inverso en Ubuntu 18.04

Cómo instalar NGINX como proxy inverso para Apache en Ubuntu 18.04

Cómo configurar Nginx como equilibrador de carga para Apache o Tomcat para HTTP/HTTPS