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

¿Cómo estais? me llamo Ana. Os traigo un nuevo post sobre el sistema operativo mas molón. Un placer linuxeros.

Apache es el servidor web más popular. También puede utilizar Apache como proxy frontal para aplicaciones que se ejecutan como Node.js. Este tutorial le ayuda a configurar el servidor Apache como proxy frontal para su aplicación Node.js con pasos sencillos.

 

Antes de empezar

  • Estoy utilizando la instancia de Ubuntu 4.18 alojada en DigitalOcean.
  • Se ha instalado la versión más reciente de Node.js mediante este tutorial en esta máquina Linux.

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

Como está aquí 🙂 Debe tener una aplicación Node.js en ejecución en algún puerto. Supongamos que ejecute su aplicación en el puerto 3000. efectos de demostración, estoy creando una aplicación web de muestra a Node.js y la ejecutaré el puerto 3000. Por lo tanto, le será más fácil de entender.

vi myapp.js

A continuación, añada el siguiente 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/');

La aplicación Node está preparada para publicarse en el puerto 3000. Empezamos la aplicación Node.js en segundo plano.

node myapp.js &

Y acceda a él en el navegador. Verá el resultado como a continuación:

 

Paso 2: instale el servidor Apache

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

sudo apt install apache2   ### Debians based systems 
sudo yum install httpd   ### CentOS 7/6    
sudo dnf install httpd   ### Fedora & CentOS 8 

Después de instalar el servidor web Apache, debe haber habilitado el módulo Proxy. Este módulo está habilitado a Apache para los usuarios que se han instalado con paquetes rpm. Si no tiene activado, edite la 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 líneas siguientes o ponerlas 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, utilice el siguiente comando para habilitar el módulo Proxy con Apache.

sudo a2enmod proxy proxy_http

Paso 3: configure Apache VirtualHost

Como ha configurado y ejecutado un servidor de demostración Node.js. Ahora inicie configuración con el servidor web Apache. Cree un archivo de configuración del host virtual a su dominio a / Etc / apache2 / sites-available / directorio.

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

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

y añada el siguiente.

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

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

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

Paso 5: Verificación de la instalación

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

 

conclusión

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

Este Blog lo hacemos para colaborar y servir de ayuda a la comunidad Linux. Esperamos que os guste.

Leave a Reply