GNU/Linux >> Tutoriales Linux >  >> Linux

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

Apache es el servidor web más popular. También puede usar Apache como un servidor proxy front-end para aplicaciones que ejecutan back-end como Node.js. Este tutorial lo ayudará a configurar su servidor Apache como un servidor proxy frontend para su aplicación Node.js con pasos sencillos.

Antes de empezar

  • Utilizo una instancia de Ubuntu 18.04 alojada en DigitalOcean.
  • Se instaló la última versión de Node.js usando este tutorial en esta máquina Linux.

Paso 1:crear una aplicación de nodo de muestra

Como estás aquí 🙂 Debes tener una aplicación Node.js en ejecución en algún puerto. Suponemos que está ejecutando su aplicación en el puerto 3000. Para fines de demostración, estoy creando una aplicación web de muestra en Node.js y ejecutándola en el puerto 3000. Así será más fácil de entender para usted.

nano myapp.js 

Luego, agregue el siguiente contenido en el archivo JavaScript.

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World');
}).listen(3000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3000/');

Su aplicación Node está lista para funcionar en el puerto 3000. Iniciemos la aplicación Node.js en segundo plano.

node myapp.js & 

Y accede a esto en el navegador. Verá el resultado como a continuación:

Paso 2:instalar el servidor Apache

Ahora instale el servidor web Apache utilizando el administrador de paquetes predeterminado. Los sistemas basados ​​en Ubuntu y Debian usan apt, Fedora y CentOS/RHEL 8 usan DNF y CentOS/RHEL 7/6 usa yum. Los paquetes de Apache están disponibles en repositorios predeterminados en casi todos los sistemas operativos.

sudo apt install apache2   ### Debians based systems 
sudo dnf install httpd     ### Fedora & CentOS 8 

Después de la instalación del servidor web Apache, debe haber habilitado el módulo Proxy. Este módulo está habilitado en Apache para usuarios que instalaron usando paquetes rpm. Si no lo ha habilitado, edite su configuración de Apache /etc/httpd/conf/httpd.conf o para Apache 2.4 /etc/httpd/conf.modules.d/00-proxy.conf archivo y descomente las siguientes líneas o póngalas en el archivo.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Para los sistemas basados ​​en Debian, use el siguiente comando para habilitar el módulo Proxy con Apache.

sudo a2enmod proxy proxy_http 

Paso 3:configurar Apache VirtualHost

Como ha configurado y ejecutando un servidor de demostración de Node.js. Ahora, inicie la configuración con el servidor web Apache. Cree un archivo de configuración de host virtual para su dominio en /etc/apache2/sites-disponible/ directorio.

### Debian based system's 
sudo nano /etc/apache2/sites-available/example.com.conf 

### Redhat based system's 
sudo vim /etc/httpd/conf.d/example.com.conf 

y agregue el siguiente contenido.

Apache

Después de crear la configuración, reinicie el servidor web Apache con el siguiente comando.

### Debian based system's 
sudo a2ensite example.com 
sudo systemctl restart apache2 

### Redhat based system's 
sudo systemctl restart httpd 

Paso 5:verificar la configuración

Ahora acceda a su servidor usando el nombre de dominio, verá que se muestra la misma página en http://127.0.0.1:3000/ .

Conclusión

Ha realizado la configuración del proxy Apache para respaldar la aplicación Node.js. Como alternativa, Nginx tiene un mejor rendimiento como servidor proxy, por lo que si no está limitado a Apache, vaya con el servidor proxy Nginx.


Linux
  1. Cómo instalar Node.js en Debian 10 y configurar Nginx como servidor proxy frontend

  2. Cómo configurar Nginx como servidor web y proxy inverso para Apache en CentOS 8

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

  4. Configurar Apache Traffic Server como proxy inverso en Linux

  5. Cómo configurar un servidor proxy squid en CentOS/RHEL 7

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

Cómo configurar HAProxy en CentOS 8

Cómo configurar Nginx Cache en un servidor LAMP

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

Cómo configurar un servidor NGINX RTMP para transmisión

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

    1234567 ServerName example.com ProxyPreserveHost en ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/