Configurar Apache2 como proxy inverso para Nginx en Ubuntu 17.04 | 17.10

  • Matthew Stevenson
  • 0
  • 2106
  • 200

Este breve tutorial muestra a los estudiantes y nuevos usuarios cómo configurar el servidor web Apache2 como un proxy inverso para el servidor web Nginx. Un proxy inverso es un tipo de servicio en el que el servidor proxy (servidor frontend) toma las solicitudes HTTP (S) y las reenvía a un servidor backend..

En esta configuración, Apache2 se sentará frente al servidor web Nginx y aceptará todas las solicitudes. Luego, esas solicitudes se envían de forma transparente al servidor web Nginx para buscar y recuperar el contenido. En nuestra publicación anterior, le mostramos cómo configurar Nginx como un servidor proxy para Apache2.

Puede encontrar nuestra publicación anterior haciendo clic en este enlace.

Para comenzar a configurar Apache2 como proxy inverso, siga los pasos a continuación

Paso 1: instalar y configurar Apache2

Para obtener Apache2 como proxy inverso, primero debe instalar Apache2. Para hacer eso, ejecute los siguientes comandos

sudo apt-get install apache2

Después de instalar Apache2, los siguientes comandos se pueden usar para detener, iniciar y habilitar el servicio Apache2 para que se inicie automáticamente cada vez que se inicia el servidor.

sudo systemctl detener apache2.service sudo systemctl iniciar apache2.service sudo systemctl habilitar apache2.service

Paso 2: Habilite el proxy Apache2

Ahora que Apache2 está instalado, ejecute los siguientes comandos para habilitar sus módulos proxy.

sudo a2enmod proxy sudo a2enmod proxy_http 

Cuando haya terminado, reinicie Apache2 para habilitar la recarga de los módulos.

sudo systemctl reiniciar apache2.service

Después de eso, ejecute los siguientes comandos para crear un nuevo archivo de configuración del sitio llamado mydomain.conf para el sitio web midominio.com

sudo nano /etc/apache2/sites-available/mydomain.conf

Luego copie y pegue las líneas a continuación en el archivo y guarde.

  ServerName mydomain.com ServerAlias ​​www.mydomain.com ServerAdmin [email protected] ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado ProxyRequests Off  Orden denegar, permitir Permitir de todos  ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/  Orden permitir, denegar Permitir de todos   

Después de eso, guarde el archivo.

Paso 3: instalar y configurar Nginx

Ahora que Apache2 y está configurado, continúe a continuación para instalar Nginx. Para hacer eso, ejecute los siguientes comandos.

sudo apt-get install nginx

Después de instalar Nginx, los siguientes comandos se pueden usar para detener, iniciar y habilitar el servicio Nginx para que siempre se inicie cuando se inicia el servidor.

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl enable nginx.service 

Nginx, ejecute los siguientes comandos para crear el archivo de configuración del sitio Nginx llamado mydomain.

sudo nano / etc / nginx / sites-available / mydomain

Luego copie y pegue el contenido a continuación en el archivo y guárdelo.

servidor escuchar 8080 default_server; escuchar [::]: 8080 default_server; root / var / www / html / mydomain; index index.php index.html index.htm; nombre_servidor mydomain.com www.mydomain.com; location / # Primero intente servir la solicitud como archivo, luego # como directorio, luego vuelva a mostrar un 404. try_files $ uri $ uri / = 404; 

Guarde el archivo cuando haya terminado.

Paso 4: Habilite el sitio de Apache2 y Nginx

sudo a2ensite mydomain.conf

sudo ln -s / etc / nginx / sites-available / mydomain / etc / nginx / sites-enabled /

Reinicie tanto Apache2 como Nginx

sudo systemctl restart apache2.service sudo systemctl restart nginx.service 

Si Nginx no se inicia, es posible que desee eliminar la configuración predeterminada de Nginx o cambiar el puerto en el archivo a 8080.

sudo rm / etc / nginx / sites-available / default

Ahora pon un index.html archivo en el directorio raíz del sitio de Nginx.

Ejecute los siguientes comandos para ver los servicios que se ejecutan en el sistema ... en la imagen, verá Apache2 ejecutándose en el puerto 80 y Nginx en 8080

Disfrutar!




Nadie ha comentado sobre este artículo todavía.

Una colección de información útil sobre el sistema operativo Linux y las nuevas tecnologías
Artículos nuevos, consejos prácticos, reseñas detalladas y guías. Siéntete como en casa en el mundo del sistema operativo Linux